Ant可以从属性文件扩展环境变量吗?
问题描述:
我有一个关于Ant及其对环境变量的处理的问题。 为了说明我有一个小样本。Ant可以从属性文件扩展环境变量吗?
由于Ant构建文件的test.xml:
<project name="myproj" default="testProps">
<property environment="env"/>
<target name="testProps">
<echo message="${env.MyEnvVar}"/>
<echo message="${MY_PROPERTY}"/>
</target>
</project>
而且属性文件test.props:
MY_PROPERTY=${env.MyEnvVar}
现在的环境变量MyEnvVar
设置为某个值(富在我的情况)并使用以下命令行运行Ant:
ant -f test.xml -propertyfile test.props testProps
我得到的输出是:
[echo] foo
[echo] ${env.MyEnvVar}
我想知道的是,是否有任何的方式来结构中的输入属性文件,这样我得到
[echo] foo
[echo] foo
也就是说,我想命名的属性的环境变量在Ant脚本中被替换的文件。注 - 我知道如何直接访问环境变量(就像这里所做的那样)。我需要做的是使用一组Ant脚本,这些脚本需要在一个环境中使用不同名称定义相同属性的一组属性。因此,他们在一个属性文件中“桥接”他们的想法。
我正在使用Ant版本1.6.5。
答
你需要阅读test.props
属性文件后的环境 - 你可以这样做使用其他property
任务,即现有的property environment
任务后添加
<property file="test.props" />
。
在全:
<property environment="env" />
<property file="test.props" />
<target name="testProps">
<echo message="${env.MyEnvVar}"/>
<echo message="${MY_PROPERTY}"/>
</target>
当您提供性能的命令行这被构建的内容之前处理上的文件,但当时${env.MyEnvVar}
尚未设置。
不完全是我希望的,但它确实有效。必须看看我是否可以完成这项工作。谢谢(你的)信息。 – sfitts 2010-07-13 21:10:45