2014-02-17 28 views
1

我有一個Build.xml文件。通過使用該文件,我想通過使用ant來運行另一個位置的另一個build.xml文件。我怎樣才能達到這個......?調用build.xml並從另一個build.xml文件中的目標運行

+1

從你的主xml文件如果您導入另一個XML文件,然後可以調用所需的目標的依賴鏈:'<導入文件=「$ {path.to.another.dir} /build.xml」/>' – 2014-02-17 14:10:45

+0

http://stackoverflow.com/a/25207678/1422630,通過依賴=「」我們可以選擇其他xml目標 –

回答

1

簡而言之,您有兩種選擇。

您可以包含/導入其他ant文件,以便您可以依賴目標或調用其宏。這種方法合併另一個構建文件。如果您調用大量目標,這會更有效率,因爲文件只加載一次。有關importinclude之間的差異的詳細信息,請查詢this answer,並查看官方文檔以瞭解更多詳細信息(importinclude)。

另一種方法是使用ant任務在新進程中執行另一個ant文件。 通過這種方式,您可以在兩個構建文件之間實現更高的隔離度,但其他文件將在每次調用時加載一次。

導入/包含文件時,您也可以使用antcall。但是,您通常會避免這種情況,因爲它會創建一個新的項目實例the same way ant does。在this great post中使用dependsantcall之間的差異更多。

好運

+1

antcall不會調用其他的r ant文件 - 來自ant手冊(https://ant.apache.org/manual/Tasks/antcall.html):「在同一個構建文件中調用另一個目標(可選擇指定某些屬性)」。這是在Ant 1.6(2003年發佈)引入macrodef之前重用功能的棄用方式。 – Rebse

+0

我的不好。感謝您的更正。我會馬上更新答案。 – Tobber