我试图在我的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存在于没有空格的路径中,它将正常工作,但由于它存在于带空格的路径中,因此会导致错误:
有没有办法在有空格的路径中运行?
答案 0 :(得分:8)
使用数组构建命令的不同部分,并将其留给Java运行时根据底层环境适当地转换它们。
String [] cmd = {"java",
"-Xmx1024m",
"-jar",
"/Volumes/NANO PRO/My Program/Main.jar"};
另外,您可以查看ProcessBuilder: