2011-03-29 28 views
1

我有一個屬性回顯到文件的問題。我很確定有一些拼寫錯誤,我現在不能發現或者我缺少一些概念。我們的目標是:回聲螞蟻屬性到一個文件

<target name="war" depends="build"> 
    <propertyfile file="project-version.properties"> 
     <entry key="build.version" type="int" operation="+" value="1"/> 
    </propertyfile> 
    <echo file="WebContent/version.txt">${major.version}.${minor.version}.${build.version}</echo> 
    <war destfile="dist/system.war" webxml="WebContent/WEB-INF/web.xml"> 
     <fileset dir="WebContent"/> 
     <classes dir="target/classes"/> 
    </war> 
</target> 

它正確地更新從文件project-version.properties關鍵build.version:

#Tue Mar 29 19:14:18 BRT 2011 
build.number=3 
major.version=1 
build.version=16 
minor.version=0 

但產量version.txt爲:

${major.version}.${minor.version}.${build.version} 

回答

3

propertyfile任務不會將屬性加載到腳本中,這就是爲什麼當您嘗試輸出它們時,ant無法將它們擴展爲任何值。

爲了解決這個問題,你可以在更新之後加載project-version.properties文件。

<target name="war" depends="build"> 
    <propertyfile file="project-version.properties"> 
     <entry key="build.version" type="int" operation="+" value="1"/> 
    </propertyfile> 
    <property file="project-version.properties" /> 
    <echo file="WebContent/version.txt">${major.version}.${minor.version}.${build.version}</echo> 
    <war destfile="dist/system.war" webxml="WebContent/WEB-INF/web.xml"> 
     <fileset dir="WebContent"/> 
     <classes dir="target/classes"/> 
    </war> 
</target> 
+0

對。非常感謝。 – Leonardo 2011-03-30 00:19:00