【发布时间】:2013-06-19 19:03:36
【问题描述】:
我有一个java程序,里面有这段代码,
JOptionPane.showConfirmDialog(null, "TEST");
String pathToJar = ClassRewriter.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()+"ClassRewriter.class";
System.out.println(pathToJar);
ProcessBuilder pb = new ProcessBuilder("javaw "+pathToJar);
Process process = pb.start();
我在一个名为 classrewriter 的类中有一个 java 程序,我试图从它的 main 方法中启动该程序,但它似乎不起作用。
【问题讨论】:
-
这个问题可能是相关的:stackoverflow.com/questions/1320476/…
-
命令行应该更像“javax -jar pathToJar”
-
阅读(并实施)所有 When Runtime.exec() won't 的建议。那可能会解决问题。如果没有,它应该提供更多关于失败原因的信息。然后忽略它引用
exec并使用ProcessBuilder构建Process。还要将String arg拆分为String[] args以说明本身包含空格的参数。
标签: java jar process executable-jar processbuilder