У меня есть Java-программа, которая была экспортирована в исполняемый файл .jar. Эта банка работает правильно в Windows CMD. Я выполняю набрав это:
java -jar completerute.jar
Он работает правильно (выполнение длится около 1 минуты) и в результате генерирует файл. Все идеально.
Но когда я пытаюсь выполнить это в другом проекте, набрав это:
Process p = Runtime.getRuntime().exec("java -jar "+completerute.jar);
p.waitFor();
<--- это потому, что мне нужно дождаться окончания .jar, чтобы прочитать файл, который он генерирует </p>
Вызов правильный, но он МГНОВЕННО говорит, что он завершен (p.waitFor()
устанавливает зеленый свет для продолжения нормального выполнения). Но полученный файл приложения .jar не был сгенерирован. Я думаю, что это потому, что вызов был выполнен, но приложение jar не было выполнено. Я не знаю почему ......
И я надеюсь, что вы могли бы дать мне некоторое представление о причине проблемы. Спасибо за внимание.
РЕДАКТИРОВАТЬ: точный код из исходного файла здесь
System.out.println("Calling jar process");
Process p = Runtime.getRuntime().exec("java "+System.getProperty("user.dir")+"\\esclavomaude.jar "+parametros);
p.waitFor();//waiting for finish
System.out.println("jar call finished");
Aclarations:
System.getProperty("user.dir")
---> предоставляет фактический путь к проекту, который находится в процессе выполнения. моя банка в этом каталоге.