我的Ant脚本中有以下代码段。它执行得很好:
<exec executable="C:\test\foo\programName.exe" />
但是当我尝试通过设置目录来执行它时,如下所示:
<exec executable="programName.exe"
dir="C:\test\foo\" />
我明白了:
执行失败:java.io.IOException: 无法运行程序“programName.exe” (在目录“C:\ test \ foo”中): CreateProcess error = 2,系统 找不到指定的文件
请帮忙!为什么单独指定目录时它不起作用?
答案 0 :(得分:4)
添加 resolveexecutable 属性:
<exec executable="programName.exe"
resolveexecutable="true"
dir="C:\test\foo\" />
resolveexecutable 当这个 属性为true,名称为 首先解决可执行文件 项目基础,如果有的话 不存在,反对执行 目录如果指定。在Unix上 系统,如果你只想允许 在用户的执行命令 path,将其设置为false。自从Ant 1.6开始 不,默认为false
答案 1 :(得分:2)
我最后坚持这个:
<exec executable="${basedir}\myexefile.exe}" />
答案 2 :(得分:1)
试试这个:
<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>
执行程序的目录似乎必须在构建路径中。