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

标签 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 */ .

但是,它不会将所有文件和文件夹打包到 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/

相关文章:

linux - 通过命令行 ubuntu 14.04 添加带有现有文本文件的新文本行

java - 如何使用eclipse创建jar文件

jar - ImageJ 作为 JAR 库

java - 在两个不同的java类中使用变量

java - 如果标签包含目标,则标签之间的正则表达式匹配

java - 从另一个类访问和更改 jTextField 中的文本

java - jar 和“找不到类定义”错误

java - OpenShift:在应用程序长时间关闭期间,Pod 提前终止为 "not alive"

command-line - 使用命令行开关启动 Chromium 无效

c - 关于用 C 语言为 FreeBSD 开发命令行应用程序的权威书籍是什么?