2012-04-04 63 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

相关问题