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

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

我有一个 Java 程序,需要先启动 API 的 MiddleWare 才能运行。MiddleWare 包含在 Java Jar 文件中。

通常,如果我打开两个单独的命令提示符并首先启动 jar 文件,然后运行 ​​java 程序,那么一切就可以正常工作。

我现在正在为我们的客户打包新程序,我想找到一种方法,在启动应用程序之前自动启动中间件。我尝试了类似这样的方法,

    @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 %*
    )

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

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

答案1

尝试使用开始:

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 %*

相关内容