2

我正在尝试在我的 Java 应用程序中使用此代码在 Mac OS X 中运行另一个 Jar:

Runtime runtime = Runtime.getRuntime();
String cmd = "java -Xmx1024m -jar \"/Volumes/NANO PRO/My Program/Main.jar\"";
Process process = runtime.exec( cmd );

如果 Main.jar 存在于没有空格的路径中,它将正常工作,但由于它存在于有空格的路径中,因此会导致错误:

在此处输入图像描述

有没有办法让它在有空格的路径中运行?

4

1 回答 1

8

使用数组构建命令的不同部分,并将其留给 Java 运行时根据底层环境适当地转换它们。

String [] cmd = {"java", 
                 "-Xmx1024m", 
                 "-jar",
                 "/Volumes/NANO PRO/My Program/Main.jar"};

你也可以看看ProcessBuilder

于 2012-09-20T17:08:39.573 回答