1

プロジェクトを Netbeans でコンパイルするときに、自動的にインクリメントされるビルド番号と日付を含むファイルを自動的に生成したいので、プロジェクトの build.xml ファイルに以下を追加しました。

<target name="-pre-jar" >
    <propertyfile file="${src.dir}\buildstring.txt" >
        <entry key="devbuild" value="1" type="int" operation="+"/>
        <entry key="devbuildtime" type="date" value="now" pattern="yyyy MM dd hh_mm" />
    </propertyfile>
</target>

Ant タスクが実行されると、Ant はファイルの最初の行として日付スタンプを自動的に追加します。

#Tue, 12 Jun 2012 16:09:24 -0500
devbuild=8
devbuildtime=2012 06 12 04_09

Ant が最初の行に日付コメントを自動的に追加するのを止める方法はありますか?

4

2 に答える 2

3

PropertyFile Ant タスクは、java.util.Properties オブジェクトを使用して実装されます。このProperties.store()方法は、次の注記とともに文書化されています。

次に、ASCII # 文字、現在の日付と時刻 (現在の時刻の Date の toString メソッドによって生成されたかのように)、および Writer によって生成された行区切り文字で構成されるコメント行が常に書き込まれます。

したがって、PropertyFileタスクを使用して日付コメントを無効にすることはできません。日付コメントを削除するには、プロパティ ファイルを後処理するか、別の手法 (たとえば、Ant スクリプトまたはカスタム Ant タスクを使用) を使用してプロパティ ファイルを作成するなど、別のソリューションが必要になります。

参照:プロパティ ファイル java のコメントを削除する

于 2012-06-12T22:06:20.710 に答える
2

これが私の解決策です:1.一時ファイルにプロパティを書き込む2.filterchain最初の行をスキップするために一時ファイルを最終的なプロパティファイルにコピーします3.一時ファイルを削除します

<propertyfile file="temp.properties" >
    <entry  key="property.1" value="value1"/>
    <entry  key="property.2" value="value2"/>
</propertyfile>

<copy file="temp.properties" tofile="final.properties">
  <filterchain>
      <headfilter skip="1"/>
  </filterchain>
</copy>
<delete file="temp.properties"/>
于 2013-05-27T10:37:25.697 に答える