2012-06-06 28 views
0

以一個性質文件,如ant中的propertiesFile任務將如何改變文件中屬性的順序?

 
#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

回答

1

我猜你是使用Ant版本比1.8更早。

自1.8以來,propertyfile task默認爲保留註釋(並可能保留屬性順序,但我不確定)的「佈局保留」模式。

在該版本中,您可以通過指定jdkproperties=true

原始文件中使用您的構建文件在我的Ant 1.8.2環境

$ 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 

版本創建恢復到原來的行爲

$ 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 = 「真」

$ 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 
+0

您是否嘗試過它創造出來的? –

+0

你有沒有?既然你首先提出了這個問題,我想你的興趣會比我的興趣更激烈。 – sudocode

+0

我的結果如上所列。我正在使用1.8.3。 –

相關問題