从 Java 以编程方式执行 ANT 命令会引发错误



从 Java 执行 Ant 命令会引发错误

尝试了以下步骤,但没有成功,非常感谢任何帮助:

  1. 我们在用 ant 构建的项目中有基于 java 的工具
  2. 手动,我们将通过导航到 java 项目来运行该工具,并运行工具命令,如下所示:
    1. cd /Users/Project
    2. ant命令

手动上面的命令运行良好,但是当我们尝试从 Java 代码执行相同的命令时:

String[] cmd = { "ant run.loader -Dchangeuser=999-Dt=1-Dsl=0-Dpath=PathofInputFile/FileName.txt | tee log.txt", "-c", "//Users//ProjDir" };        
Process p = Runtime.getRuntime().exec(cmd);    

以上Java代码生成的错误如下:

java.io.IOException: Cannot run program "ant -v": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)

请注意,我们已经在 PATH 变量中配置了 Ant 路径。

任何帮助或建议将不胜感激。

ant是一个批处理/shell脚本:

  • 对于 Windows,请参阅:从 Java 运行批处理脚本
  • 对于 Linux,请参阅:从 Java 运行 shell 脚本
  • 对于 macOS,请参阅:从 Java 运行 Unix 系统命令

由于 Ant 是一个 Java 应用程序,最好通过ant-launcher.jar运行 Ant

最新更新