我正在使用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 ....
请捕获命令的输出、错误和异常(如果有)并添加到您的问题中。
(注#1。使用像 ant 这样的工具来完成这些任务可能更有用。ant 中的任务可以使用 ant 库从 java 程序调用。 注#2 - 首选ProcessBuilder启动新流程。 )
关于java - 通过java代码执行jar cvf命令(使用Runtime.exec()方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471789/