ade*_*ngh 5 java runtime jar executable-jar
我试图从另一个Java程序执行jar文件.我使用以下代码:
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("path upto jar");
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Exception occured" + ex);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我试过谷歌,它给了我使用ProcessBuilder的例子,但这也没有用.
Ani*_*kur 15
使用ProcessBuilder(java.lang.ProcessBuilder)将解决您的问题.语法如下 -
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "absolute path upto jar");
Process p = pb.start();
Run Code Online (Sandbox Code Playgroud)
您可以按如下方式将输入/输出/错误重定向到文件/从文件重定向
File commands = new File("absolute path to inputs file");
File dirOut = new File("absolute path to outputs file");
File dirErr = new File("absolute path to error file");
dirProcess.redirectInput(commands);
dirProcess.redirectOutput(dirOut);
dirProcess.redirectError(dirErr);
Run Code Online (Sandbox Code Playgroud)
第一个建议/建议是使用ProcessBuilder而不是Runtime.您可以尝试以下方法:
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "./jarpath/yourjar.jar");
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = "";
while((s = in.readLine()) != null){
System.out.println(s);
}
int status = p.waitFor();
System.out.println("Exited with status: " + status);
Run Code Online (Sandbox Code Playgroud)