【问题标题】:How to change the ant directory to excute ant task from different folder如何更改 ant 目录以从不同文件夹执行 ant 任务
【发布时间】:2014-05-26 08:09:16
【问题描述】:

有两个构建文件放在不同的文件夹中

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>

运行正常是因为可以找到visionupdater.exe,它位于同一根文件夹下的folder1/tools/VersionUpdater/versionupdater.exe

如何从另一个构建文件运行 versionupdater.exe 哪个放在folder1/subfolder/sub/build.xml

【问题讨论】:

  • ${tools.versionupdater.exe} 的值是多少?另外,folder1/subfolder/sub/build.xml 是从 folder1/build.xml 启动的吗?还是folder1/subfolder/sub/build.xml是自己启动的?

标签: ant


【解决方案1】:

只有当${tools.versionupdater.exe} 扩展为可从folder1 解析但不能从folder1/subfolder/sub 解析的相对路径时,才会真正发生这种情况。

解决方法取决于您调用exec 的具体方式。

  1. 如果folder1/build.xmlfolder1/subfolder/sub/build.xml 都包含相同的exec 任务(重复),那么完成这项工作的唯一方法是确保tools.versionupdater.exe 属性的值是一个绝对值,而不是 相对,路径。
  2. 如果folder1/subfolder/sub/build.xml 调用folder1/build.xml 中的目标,请确保您使用的是ant 任务而不是antcall,并提供dir 属性:

    <ant antfile="../../build.xml" dir="../../" target="...">
        ... parameters ...
    </ant>
    

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2017-12-18
    相关资源
    最近更新 更多