Java プログラムを介して単純な ant -v コマンドを実行したいと考えています。検索した結果、ant は実際には exe 形式ではないため、process ではなく shell execute を使用する必要があることがわかりました。単純な JAVAC コマンドを実行するプログラムがありますが、ant が機能しません。私のコードは次のようになります。
Runtime runtime = Runtime.getRuntime() ;
Process shellProcess = runtime.exec("D:\\installs\\apache-ant-1.9.2\\bin\\ant -v") ;
shellProcess.waitFor() ;
これを実行すると、次の例外が発生します
Exception in thread "main" java.io.IOException: Cannot run program "D:\installs\apache-ant-1.9.2\bin\ant": CreateProcess error=193, %1 is not a valid Win32 application
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at com.check.SystemCheck.main(SystemCheck.java:14)
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
パス全体を指定する理由は、指定しないとファイルが見つからないというエラーが発生するためです。これを機能させる方法について何か考えはありますか??