我想通过 java 程序运行一个简单的 ant -v 命令。搜索后,我知道我必须使用 shell 执行而不是进程,因为 ant 并不是真正的 exe 格式。我有一个程序可以执行简单的 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
指定整个路径的原因是,如果我不指定文件未找到错误。关于如何使它工作的任何想法?