获取
等属性文件#File One
#Section One
sect1.number=Test1
sect1.sample=Test2
sect1.test=Test3
#Section Two
sect2.number=Test1
sect2.sample=Test2
sect2.test=Test3
After running this ant:
<property file="sample1.properties"/>
<propertyfile file="sample1.properties">
<entry key="sect1.number" value="ABC"/>
<entry key="sect1.sample" value="B"/>
<entry key="sect1.test" value="ABC"/>
<entry key="sect2.number" value="B"/>
<entry key="sect2.sample" value="ABC"/>
<entry key="sect2.test" value="B"/>
</propertyfile>
The properties file will end as:
#Updated on blah
sect2.sample=ABC
sect2.test=B
sect1.sample=B
sect1.number=ABC
sect2.number=B
sect1.test=ABC
请注意,评论已消失且订单不同。
我在做什么,有什么工作吗?
Grae
答案 0 :(得分:1)
我猜你使用的是早于1.8的Ant版本。
从1.8开始,propertyfile task默认为“布局保留”模式,该模式保留注释(并且可能保留属性顺序,但我不确定)。
在该版本中,您可以通过指定jdkproperties=true
原始文件
$ cat sample1.properties.original
#File One
#Section One
sect1.number=Test1
sect1.sample=Test2
sect1.test=Test3
#Section Two
sect2.number=Test1
sect2.sample=Test2
sect2.test=Test3
在我的Ant 1.8.2环境中使用您的构建文件创建的版本
$ cat sample1.properties.default
#Mon, 11 Jun 2012 14:39:08 +0000
#File One
#Section One
sect1.number=ABC
sect1.sample=B
sect1.test=ABC
#Section Two
sect2.number=B
sect2.sample=ABC
sect2.test=B
在我的Ant 1.8.2环境中使用您的构建文件创建的版本,但指定jdkproperties =“true”
$ mv sample1.properties sample1.properties.jdk
$ cat !$
cat sample1.properties.jdk
#Mon Jun 11 14:41:01 GMT 2012
sect2.test=B
sect1.test=ABC
sect2.sample=ABC
sect2.number=B
sect1.sample=B
sect1.number=ABC
我的蚂蚁环境
$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010