Java 使用Ant执行可以使用绝对路径,但不能使用相对路径
我的Ant脚本中有以下代码片段。它执行得很好:Java 使用Ant执行可以使用绝对路径,但不能使用相对路径,java,ant,relative-path,absolute-path,Java,Ant,Relative Path,Absolute Path,我的Ant脚本中有以下代码片段。它执行得很好: <exec executable="C:\test\foo\programName.exe" /> 但是当我试图通过设置目录来执行它时,就像这样: <exec executable="programName.exe" dir="C:\test\foo\" /> 我得到: 执行失败:java.io.IOException: 无法运行程序“programName.exe” (在目录“C:\test\foo”中):
<exec executable="C:\test\foo\programName.exe" />
但是当我试图通过设置目录来执行它时,就像这样:
<exec executable="programName.exe"
dir="C:\test\foo\" />
我得到:
执行失败:java.io.IOException:
无法运行程序“programName.exe”
(在目录“C:\test\foo”中):
CreateProcess错误=2,系统
找不到指定的文件
请帮忙!单独指定目录时为什么不起作用?尝试以下操作:
<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>
执行程序的目录似乎必须位于生成路径中。添加resolveexecutable属性:
<exec executable="programName.exe"
resolveexecutable="true"
dir="C:\test\foo\" />
当
属性为true,则为
可执行文件首先根据
项目basedir,如果是
不存在,反对执行
目录(如果指定)。在Unix上
系统,如果您只想允许
在用户界面中执行命令
路径,将其设置为false。从Ant 1.6开始
否,默认值为false
我最终坚持这样做:
<exec executable="${basedir}\myexefile.exe}" />
“C:\test\foo”不是相对路径。您可能需要更正此问题。已编辑。最后,我需要它来处理相对路径。这不起作用的事实让我很震惊。