Bra*_*rad 2 java macos runtime
我试图在我的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 );
Run Code Online (Sandbox Code Playgroud)
如果Main.jar存在于没有空格的路径中,它将正常工作,但由于它存在于带空格的路径中,因此会导致错误:

有没有办法在有空格的路径中运行?
使用数组构建命令的不同部分,并将其保留给Java运行时,以根据底层环境适当地转换它们.
String [] cmd = {"java",
"-Xmx1024m",
"-jar",
"/Volumes/NANO PRO/My Program/Main.jar"};
Run Code Online (Sandbox Code Playgroud)
您还可以查看ProcessBuilder: