【发布时间】:2017-03-02 23:13:21
【问题描述】:
Java 的 Runtime 类允许在运行 jar 时将命名系统属性值作为命令行参数发送。如下:
Runtime.getRuntime().exec("java -jar -DiName=ABC C:\\Test.jar");
我正在尝试从 Runtime 迁移到 ProcessBuilder 以实现相同的功能。需要有关正确方法的建议。
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "C:\\Test.jar").start();
在上面的代码中,如何传递“iName”?
我从 Runtime 迁移到 ProcessBuilder 的原因是,触发此 Runtime 代码的 java 程序无法在使用 1.8.0_40 JDK 的特定生产环境中运行。
【问题讨论】:
-
什么是“iName”?
-
显然应该是
("java","-DiName=ABC", "-jar", "C:\\Test.jar")
标签: java arguments runtime parameter-passing processbuilder