所以整體的問題是這樣的:從定製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