如何将ant目录更改为从不同文件夹执行ant任务
有两个生成文件放在不同的文件夹中如何将ant目录更改为从不同文件夹执行ant任务,ant,Ant,有两个生成文件放在不同的文件夹中 folder1/build.xml folder1/subfolder/sub/build.xml 我在folder1/build.xml <exec dir="." executable="${tools.versionupdater.exe}" failonerror="true"> <arg value="${dist.path}" /> <arg value="${build.version}" /> &l
folder1/build.xml
folder1/subfolder/sub/build.xml
我在folder1/build.xml
<exec dir="." executable="${tools.versionupdater.exe}" failonerror="true">
<arg value="${dist.path}" />
<arg value="${build.version}" />
<arg value="${build.version}" />
</exec>
它正在正常运行,因为它可以找到位于同一根文件夹下的folder1/tools/VersionUpdater/VersionUpdater.exe
中的visionupdater.exe
如何从另一个生成文件运行versionUpdate.exe
它位于folder1/subfolder/sub/build.xml
?只有当${tools.versionupdater.exe}
扩展到一个相对路径,该路径可以从folder1
解析,但不能从folder1/subfolder/sub
解析时,才会发生这种情况
解决方法取决于您调用exec
的准确程度
如果folder1/build.xml
和folder1/subfolder/sub/build.xml
都包含相同的exec
任务(重复),那么唯一可行的方法是确保tools.versionUpdate.exe
属性的值是绝对路径,而不是相对路径
如果folder1/subfolder/sub/build.xml
调用folder1/build.xml
中的目标,则确保使用的是ant
任务,而不是antcall
,提供dir
属性:
<ant antfile="../../build.xml" dir="../../" target="...">
... parameters ...
</ant>
... 参数。。。
${tools.versionupdater.exe}
的值是多少?另外,folder1/subfolder/sub/build.xml是否从folder1/build.xml启动?或者folder1/subfolder/sub/build.xml是自己启动的?