2013-07-29 74 views
0

我想在我的build.xml中運行一個ant目標'run_junit',它使用多個構建文件中定義的屬性,比如在各個子目錄中的junit.xml。我想在調用這個特定的目標之前,加載來自各個子目錄中所有junit.xml文件的所有屬性。從其他構建文件加載螞蟻屬性

我嘗試以下

  1. 進口junit.xml文件 - 這不是一個目標內進口。我不想總是導入文件。

  2. 讀取目標中的junit.xml文件說'load_properties',但設置在一個目標中的屬性在另一個目標中不可用。

有人可以建議我一種方法來實現這一目標嗎?

感謝

+0

是否有一個原因的屬性必須存在於build.xml中? @Arpit指出,你可以包含它們。很可能你在這些屬性中會遇到相對路徑問題。請查看http://ant.apache.org/manual/Tasks/import.html 構建文件的後續片段中的「特殊屬性」 - 這聽起來像是可能有一個更理想的方式來做你想做的事情。任何時候你用不同的輸入(屬性)多次調用一個目標,你可能會更好地使用宏。記住螞蟻屬性不是變量。 – thekbb

回答

0

如果你想使用多個目標的屬性,你就必須在全球範圍內導入。

包含另一個ANT文件:

<property file="file_name.properties"/> 

注意

<include file="${path_to_file}/file.xml"/> 

,從另一個文件導入屬性,這些都是全球性的定義

+0

我想只爲特定目標導入屬性,而不是爲每個目標導入屬性。其次,屬性是在構建文件中定義的,而不是屬性文件。 – Varun

+0

從你的問題 - 「2.閱讀目標中的junit.xml文件說'load_properties',但在一個目標中設置的屬性在另一個目標中不可用。」這是因爲目標中定義的屬性範圍有限。另外,我相信你也可以加載構建文件。 – Arpit