我在我的Ant脚本下面的代码片段。它执行得很好:

<exec executable="C:\test\foo\programName.exe" />

但是当我尝试通过设置目录,如这样来执行它:

<exec executable="programName.exe"
  dir="C:\test\foo\" />

我得到:

  

执行失败:java.io.IOException的:   不能运行程序“programName.exe”   (在目录 “C:\测试\ foo” 的):   CreateProcess的错误= 2,该系统   无法找到指定的文件

请帮忙!为什么当被单独指定的目录中它不工作?

有帮助吗?

解决方案 2

我结束了这个粘附:

<exec executable="${basedir}\myexefile.exe}" />

其他提示

添加的 resolveexecutable 属性:

<exec executable="programName.exe" 
  resolveexecutable="true"
  dir="C:\test\foo\" />
  

<强> resolveexecutable :当此   属性为true,的名字   可执行首先对解决   该项目BASEDIR如果还是   不存在的,对执行   如果指定的目录。在Unix   系统上,如果你只想让   在用户的命令的执行   路径,设置为false。因为蚂蚁1.6     否,默认为假

尝试这种情况:

<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>

看来,从您执行程序的目录必须是在您的构建路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top