2013-10-16 22 views
2

有放在不同的文件夾如何改變螞蟻目錄從不同的文件夾EXCUTE Ant任務

folder1/build.xml

folder1/subfolder/sub/build.xml

我有exectable任務在folder1/build.xml

<exec dir="." executable="${tools.versionupdater.exe}" failonerror="true"> 
    <arg value="${dist.path}" /> 
    <arg value="${build.version}" /> 
    <arg value="${build.version}" /> 
</exec> 
2個生成文件

這是正常運行,因爲它可以找到visionupdater.exe是放在folder1/tools/VersionUpdater/versionupdater.exe在同一個根文件夾下。

如何從另一個構建文件 運行versionupdater.exe這是放置在folder1/subfolder/sub/build.xml

+0

什麼是'$ {工具的價值。 versionupdater.exe}'?另外,從folder1/build.xml啓動的folder1/subfolder/sub/build.xml?或者是由它自己啓動的folder1/subfolder/sub/build.xml? –

回答

0

只有當${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>