Запуск внешнего файла JAR из приложения Java - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу выполнить внешний jar-файл из одного из моих java-приложений.Jar (программа 2) должна быть немедленно запущена при выполнении следующего кода (программа 1):

        Process proc = Runtime.getRuntime().exec("c:\\program files\\java\\jre1.8.0_161\\bin\\java -jar C:\\DocumentCloud\\Workspace\\Wordseller_V2\\wordseller_2.jar " + fileName);

Как ни странно, prgram 2 не запускается сразу с вышеуказанным кодом.Вместо этого программа 2 будет запущена после того, как программа 1 будет завершена / закрыта.Я нахожу это поведение странным, но я не смог найти решение, чтобы решить проблему.Я уже пытался запустить program2 из отдельного потока, но это не помогло.

Ваша поддержка будет оценена по достоинству.Заранее большое спасибо.

С наилучшими пожеланиями

uli

1 Ответ

0 голосов
/ 20 сентября 2019

Действительно трудно ответить на этот вопрос без дополнительной информации, однако, исходя из кода, который вы показали, проблема, вероятно, заключается в том, что, поскольку вы не вызываете waitFor() для процесса, ваша программа асинхронно запускает этот процесс,и завершение.Если вы хотите, чтобы ваша программа ожидала завершения этого другого процесса, вам придется заблокировать основной поток вашей программы.

...