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 に答える