所以整体的问题是这样的:从定制Ant任务改写ant属性
我们有多个属性文件
<property file="prop1"/>
<property file="prop2"/>
PROP1包含一个属性看起来像:
mg.prop = ${mg2.prop}
PROP2包含MG2 .prop
mg2.prop = Hello
如果他们在同一个文件中,我查询mg.prop,我会回到“你好”。由于他们在不同的文件,这并不工作(我需要PROP2之前装载PROP1!)
我写了一个自定义Ant任务执行以下操作:
String resolved = resolveProperty(propertyName);
getProject().setProperty(propertyName, resolved);
如果我运行
log("Resolved property value = " + getProject().getProperty(propertyName));
之后,我得到了正确的值。
然而,在Ant脚本,如果我做
<echo message="${mg.prop}"/>
它让我看到原来的值。
有关如何解决这个问题的想法?
感谢拉塞尔 - 我没有在手册中看到这一点,我只是认为一个自定义任务可以解决这个错误:)显然。我用一种不同的方法解决了它 - 见下文。 – 2012-01-17 13:17:47