У меня есть пакет DOS script, который вызывает приложение java, которое взаимодействует с пользователем через пользовательский интерфейс консоли. Для аргумента, позвольте называть его runapp.bat
, а его содержимое будет
java com.example.myApp
Если пакет script вызывается в консоли, все работает нормально. Однако, если script вызывается из диспетчера окон, вновь открытая консоль закрывается, как только приложение заканчивает выполнение. Я хочу, чтобы консоль оставалась открытой во всех случаях.
Я знаю следующие трюки:
-
добавьте команду
pause
в конце script. Это немного уродливо, если в командной строке вызываетсяrunapp.bat
. -
создайте новую оболочку с помощью
cmd /K java com.example.myApp
Это лучшее решение, которое я нашел до сих пор, но оставляет дополнительную оболочку при вызове из командной строки, так что вызовexit
фактически не закрывает оболочку.
Есть ли лучший способ?