与一个CMD脚本同步启动两个java程序


1

我有一个Java程序,需要首先启动我们的API的MiddleWare才能使它工作。MiddleWare包含在Java Jar文件中。

通常情况下,如果我打开两个单独的命令提示并首先启动jar文件然后再运行java程序,我就能正常工作。

我现在正在为我们的客户收拾新程序,我想找到一种方法在启动应用程序之前自动启动MiddleWare。我试过这样的事,

    @echo off
    set APP_HOME=C:\Temp\Hammer
    rem Set APP_HOME to the place where you installed Hammer.

    if "%~1"=="" (
       echo You must provide a Python script to run.
       pause
    ) else (
       java.exe -jar C:\GMSEC_API\bin\bolt.jar
       java.exe -cp  "%APP_HOME%\lib\jython.jar;%APP_HOME%\lib\Hammer.jar;%APP_HOME%\lib\gmsecapi.jar;%APP_HOME%\examples\Python;%APP_HOME%\jython2.5.3\Lib;%CLASSPATH%" bridenstine.hammer.main.Main %*
    )

但是因为第一个java.exe命令首先启动MiddleWare并且它在循环上运行直到终止第二个java.exe命令直到我ctr^c第一个命令才运行。

那么如何使用一个CMD文件以同步方式启动这两个命令呢?

Answers:


1

尝试使用start:

start java.exe -jar C:\GMSEC_API\bin\bolt.jar
start java.exe -cp  "%APP_HOME%\lib\jython.jar;%APP_HOME%\lib\Hammer.jar;%APP_HOME%\lib\gmsecapi.jar;%APP_HOME%\examples\Python;%APP_HOME%\jython2.5.3\Lib;%CLASSPATH%" bridenstine.hammer.main.Main %*

如果您希望窗口保持打开状态,请使用:

start cmd /k java.exe -jar C:\GMSEC_API\bin\bolt.jar
start cmd /k java.exe -cp  "%APP_HOME%\lib\jython.jar;%APP_HOME%\lib\Hammer.jar;%APP_HOME%\lib\gmsecapi.jar;%APP_HOME%\examples\Python;%APP_HOME%\jython2.5.3\Lib;%CLASSPATH%" bridenstine.hammer.main.Main %*

那很有效。在程序执行完毕后,我可以添加一些东西来防止窗口关闭吗?
Kyle Bridenstine 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.