我正在尝试使用以下代码生成一个新进程:
String exec = (System.getProperty("user.dir") + "/privateers.jar");
String[] command = {"javaw", "-jar", exec};
final Process process = Runtime.getRuntime().exec(command);
System.out.println("Running " + exec);
System.exit(0);
但由于某种原因,这个过程就没有运行。
"Running: " + exec
打印出Running D:\Downloads\mcp\ship\ShipLauncher/privateers.jar
当我转到D:\Downloads\mcp\ship\ShipLauncher/
时,会有一个有效的文件名" privateers.jar"当我用蝙蝠文件打开它时,它可以正常工作:
java -jar privateers.jar
PAUSE
控制台中绝对没有错误。
有人知道这个问题吗?我似乎无法找到问题。
更新
我尝试使用ProcessBuilder
。但没有运气。
String exec = (System.getProperty("user.dir") + java.io.File.separator + "privateers.jar");
String[] command = {"java", "-jar", exec};
ProcessBuilder pb =
new ProcessBuilder(command[0], command[1], command[2]);
progressBar.setValue(100);
System.out.println(pb.command());
pb.start();
//final Process process = Runtime.getRuntime().exec(command);
System.out.println("Running " + exec);