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?

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .