Starten Sie zwei Java-Programme synchron mit einem CMD-Skript

Starten Sie zwei Java-Programme synchron mit einem CMD-Skript

Ich habe ein Java-Programm, das erfordert, dass zuerst die MiddleWare unserer API gestartet wird, damit es funktioniert. Die MiddleWare ist in einer Java-Jar-Datei enthalten.

Normalerweise funktioniert bei mir alles, wenn ich zwei separate Eingabeaufforderungen öffne und zuerst die JAR-Datei starte und dann das Java-Programm ausführe.

Ich packe gerade das neue Programm für unsere Kunden und würde gerne einen Weg finden, die MiddleWare automatisch zu starten, bevor die Anwendung gestartet wird. Ich habe so etwas ausprobiert:

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

Da jedoch der erste java.exe-Befehl zuerst die MiddleWare startet und in einer Schleife läuft, bis sie beendet wird, wird der zweite java.exe-Befehl erst ausgeführt, wenn ich ctr^cden ersten Befehl ausgeführt habe.

Wie kann ich also beide Befehle synchron mit einer CMD-Datei starten?

Antwort1

Versuchen Sie es mit „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 %*

Wenn das Fenster geöffnet bleiben soll, verwenden Sie:

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

verwandte Informationen