web-dev-qa-db-ja.com

.propertiesファイルにコメントを追加する

build.xmlファイルで次のコードブロックを使用する

<propertyfile file="default.properties" comment="Default properties">
   <entry key="source.dir" value="1" />
   <entry key="dir.publish" value="1" />
   <entry key="dir.publish.html" value="1" />
</propertyfile>

次のファイルの内容でdefault.propertiesファイルを生成できます

source.dir=1
dir.publish=1
dir.publish.html=1

生成されたファイルにコメントを追加する方法を知りたいですか?例えば。生成されたプロパティには次のコンテンツが含まれている必要があります。

# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1

Antのbuild.xmlを使用して動的に行うにはどうすればよいですか?

37
Ashwin Hegde

複数のコメントを含むプロパティファイルの作成はサポートされていません。どうして ?

PropertyFile.Java

public class PropertyFile extends Task {

    /* ========================================================================
     *
     * Instance variables.
     */

    // Use this to prepend a message to the properties file
    private String              comment;

    private Properties          properties;

Antプロパティファイルタスクは、 store() メソッドを使用してコメントを保存するJava.util.Propertiesクラスによってサポートされます。タスクからコメントが1つだけ取得され、Propertiesクラスに渡されてファイルに保存されます。

これを回避する方法は、Java.util.Propertiesの代わりに commons properties を使用して独自のタスクを作成することです。コモンズプロパティファイルは、プロパティファイルで 個々のキーの設定コメント を許可する プロパティレイアウト によってサポートされています。 save() メソッドを使用してプロパティファイルを保存し、<comment>要素を介して複数のコメントを受け入れるように新しいタスクを変更します。

9
Deepak Bala

プロパティファイルタスクは、編集プロパティファイル用です。エントリを変更できるあらゆる種類の素晴らしい機能が含まれています。例えば:

<propertyfile file="build.properties">
    <entry key="build_number"
        type="int"
        operation="+"
        value="1"/>
</propertyfile>

build_numberを1つ増やしました。値が何であるかはわかりませんが、以前よりも1つ大きくなりました。

  • <echo>の代わりに<propertyfile>タスクを使用して、プロパティファイルを作成します。コンテンツを簡単にレイアウトし、<propertyfile>を使用して後でそのコンテンツを編集できます。

例:

<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
  • セクションごとに個別のプロパティファイルを作成します。各タイプのコメントヘッダーが許可されています。次に、それらを1つのファイルにまとめてバッチ処理します。

例:

<propertyfile file="default.properties"
    comment="Default Configuration">
    <entry key="source.dir" value="1"/>
    <entry key="dir.publish" value="1"/>
<propertyfile>

<propertyfile file="source.properties"
    comment="Source Configuration">
    <entry key="dir.publish.html" value="1"/>
<propertyfile>
<concat destfile="build.properties">
    <fileset dir="${basedir}">
        <include name="default.properties"/>
        <include name="source.properties"/>
    </fileset>
</concat>

<delete>
    <fileset dir="${basedir}">
         <include name="default.properties"/>
        <include name="source.properties"/>
    </fileset>
</delete>      
8
David W.

PropertyFileタスクの documentation に従って、生成されたプロパティを既存のファイルに追加できます。コメント行だけのプロパティファイルを作成し、Antタスクに生成されたプロパティを追加させることができます。

1
mthmulders