通过java代码执行jar cvf命令(使用Runtime.exec()方法)

通过java代码执行jar cvf命令(使用Runtime.exec()方法),java,command-line,jar,command,war,Java,Command Line,Jar,Command,War,我使用Java代码执行bat文件,通过以下Java代码生成war文件 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 */ . 但是,它不会将所有文件和文件夹

我使用Java代码执行bat文件,通过以下Java代码生成war文件

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。有人知道为什么会这样吗?谢谢!

该命令使用当前工作目录,这与java程序不同。您可以将脚本更改为制作cd,然后调用jar命令

 cd /d <path to folder where this should execute from>
 jar ....
cd/d
罐子
请从命令中捕获输出、错误和异常(如果有),并添加到您的问题中

(注意#1.使用像ant这样的工具来完成这些任务可能更有用。ant中的任务可以使用ant库从java程序调用。)。。
注释2:更喜欢启动新进程。

我考虑蚂蚁解决方案,但是,我想尝试在没有第三方库的情况下打包WAR文件。