2

ProcessBuilder を使用して「java -version」を実行しようとしています。

processBuilder = new ProcessBuilder("java -version");
process = processBuilder.start();

ただし、エラーが発生します。

java.io.IOException: Cannot run program "java -version": CreateProcess error=2, The system cannot find the file specified

「-version」を削除して実行すると:

processBuilder = new ProcessBuilder("java");
process = processBuilder.start();

正常に動作し、通常のヘルプ ガイドの出力が得られます。

引数も実行するにはどうすればよいですか?

4

3 に答える 3

11

完全な引数が実行可能ファイルとして解釈されています。使用する

ProcessBuilder processBuilder = new ProcessBuilder("java", "-version");
于 2013-10-13T13:58:19.537 に答える
-2

あなたはおそらくこれを不必要に複雑にしています。実行している Java のバージョンを確認するだけの場合は、System.getProperty("java.specification.version").

また、Java が PATH にない場合、コードは失敗しますが、この方法は引き続き機能します。

于 2013-10-13T14:59:06.217 に答える