Выполнить команду jar cvf с помощью кода Java (используя метод Runtime.exec ()) - PullRequest
0 голосов
/ 12 декабря 2011

Я использую код Java для выполнения файла bat для создания файла war с помощью следующего кода Java

String command = "cmd /C start C:/processFolder/paas.bat";          
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

, что означает, что он выполнит файл paas.bat для выполнения некоторых работ.В файле paas.bat есть команда:

jar cfv xxx.war */ .

, однако она не объединяет все файлы и папки в xxx.war.У кого-нибудь есть идея, почему это происходит?Спасибо!

1 Ответ

2 голосов
/ 12 декабря 2011

Команда использует текущий рабочий каталог, который будет отличаться от Java-программы. Вы можете изменить скрипт на cd и затем вызвать команду jar.

 cd /d <path to folder where this should execute from>
 jar ....

Пожалуйста, запишите выходные данные, ошибки и исключения (если есть) из команды и добавьте к своему вопросу.

(примечание # 1. Для выполнения этой задачи может быть более полезно использовать такие инструменты, как ant. Задачи в ant можно вызывать из java-программы с использованием библиотек ant.) Примечание № 2 - Предпочитайте ProcessBuilder для запуска нового процесса. )

...