0

次のようなプロパティファイルを取ります

#ファイルワン
#セクション 1
sect1.number=テスト1
sect1.sample=テスト2
sect1.test=テスト3

#セクション 2
sect2.number=テスト1
sect2.sample=テスト2
sect2.test=テスト3

このアリを実行した後:

<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>
 

プロパティ ファイルは次のように終了します。
#何とか更新
sect2.sample=ABC
sect2.test=B
sect1.sample=B
sect1.number=ABC
sect2.number=B
sect1.test=ABC

コメントがなくなり、順序が異なることに注意してください。

私は何をしていますか? 回避策はありますか?

グレー

4

1 に答える 1

1

1.8 より前の Ant バージョンを使用していると思います。

1.8 以降、propertyfile タスクはデフォルトでコメントを保持する「レイアウト保存」モードに設定されています (プロパティの順序も保持される可能性がありますが、それについてはよくわかりません)。

そのバージョンでは、指定することで古い動作に戻すことができます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
于 2012-06-07T07:53:28.500 に答える