2012-04-04 61 views
0

我有一個主構建文件,它調用不同項目的其他build.xml文件。如何將參數傳遞給<ant ../>調用?

我的一個構建文件需要一個命令行參數執行

ant -Denv=81 -buildfile build_war.xml 

我寫了一個任務在主build.xml文件來調用build_war.xml

<target name="buildDataExtractor"> 
    <ant antfile="..\SEFTooling\build_war.xml" inheritall="false" /> 
</target> 

如何通過「-Denv = 81」參數,這樣build_war.xml將被正確執行。

+0

@ Amrin:與任務(env)具有相同名稱的屬性。考慮改進名稱。 – Jayan 2012-04-05 06:19:25

回答

2

嘗試過性的ant task

<ant antfile="..\SEFTooling\build_war.xml" inheritall="false"> 
    <property name="env" value="${env}"/> 
</ant> 

注意:爲了讓這個正常工作,你將需要ant -Denv=81打電話給你的主構建或主build.xml文件這樣設置屬性:

<property name="env" value="81"/> 
+0

爲什麼傳遞確切的值,而不是變量的引用?例如:value =「$ {env}」 – 2012-04-04 14:31:08

+0

在我看來,問題是沒有這樣的變量。如果有的話,你的建議也會起作用 – Attila 2012-04-04 14:48:56

+0

它在調用螞蟻時通過-D可用。來自http://ant.apache.org/manual/running.html:「你也可以在命令行設置屬性,這可以通過-Dproperty = value選項完成,其中property是屬性的名稱,價值是該財產的價值。「 – 2012-04-04 14:56:43

相關問題