我正在尝试从java程序运行一个jar文件。当我执行以下代码时没有任何反应。 jar文件的名称是Testing.jar。文件路径是正确的,既没有抛出异常,也没有运行Testing.jar的程序。
package helloworld;
import java.io.IOException;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("java -jar C:\\Users\\Home\\Documents\\NetBeansProjects\\Testing\\dist\\Testing.jar");
}
}
这个相同的jar文件可以从CMD正确运行。我使用了以下命令:
java -jar "C:\\Users\\Home\\Documents\\NetBeansProjects\\Testing\\dist\\Testing.jar"
答案 0 :(得分:3)
创建的进程没有自己的控制台,因此您需要提供一个以查看它正在运行。
Process testing= Runtime.getRuntime().exec("java -jar C:\\Users\\Home\\Documents\\NetBeansProjects\\Testing\\dist\\Testing.jar");
BufferedInputStream testOutput= new BufferedInputStream(testing.getInputStream());
int read = 0;
byte[] output = new byte[1024];
while ((read = testOutput.read(output)) != -1) {
System.out.println(output[read]);
}