使用一個CMD腳本同步啟動兩個java程序

使用一個CMD腳本同步啟動兩個java程序

我有一個 Java 程序,需要先啟動我們的 API 的中間件才能運行。 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 %*
    )

但因為第一個 java.exe 命令首先啟動中間件,並且它循環運行直到終止,所以第二個 java.exe 命令直到我執行ctr^c第一個命令後才會運行。

那麼如何使用一個 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 %*

相關內容