2

log4jアプリケーション固有の構成を追加したいデフォルトのプロパティファイルがあります。このファイルは(他のファイルとともに).zipファイルに含まれています。Antを使用してzipの内容(log4jプロパティを含む)を解凍します。解凍が発生したときに行を追加したいと思います。これは可能ですか?

<unzip dest="some.dest">
    <fileset refid="some.fileset" />
    <!-- Append a line to 'log4j.properties` file -->
</unzip>

たぶん、解決策は、解凍した後にエコーすることです。

4

2 に答える 2

1

Antの「echo」タスクを「append」フラグとともに使用できます。

<echo file="log4j.properties" append="true">${line.separator}</echo>

詳細については、ここにタスクドキュメントをエコーし​​てください。

http://ant.apache.org/manual/Tasks/echo.html

于 2013-01-24T16:04:11.893 に答える
0

zipfile 全体を解凍する必要はありません。

log4j.properties が zip の rootdirectory にある場合:

<project>
  <!-- unzip log4j.properties only -->
  <unzip src="foo.zip" dest=".">
    <patternset>
      <include name="log4j.properties" />
    </patternset>
  </unzip>
  <!-- put new key in or overwrite if already existing -->
  <propertyfile file="log4j.properties">
    <entry key="log4j.logger.com.foobar.xyz" value="ERROR" />
  </propertyfile>
  <!-- update zip with modified log4j.properties -->
  <zip destfile="foo.zip" update="true">
    <fileset dir="." includes="log4j.properties" />
  </zip>
</project>

log4j.properties が zip のいずれかのサブフォルダーに存在する場合:

<project>
  <!-- unzip log4j.properties only -->
  <unzip src="foo.zip" dest=".">
    <patternset>
      <include name="**/log4j.properties" />
    </patternset>
  </unzip>
  <fileset dir="." includes="**/log4j.properties" id="foo"/>
  <!-- put new key in or overwrite if already existing -->
  <propertyfile file="${toString:foo}">
    <entry key="log4j.logger.com.foobar.xyz" value="ERROR" />
  </propertyfile>
  <!-- update zip with modified log4j.properties -->
  <zip destfile="foo.zip" update="true">
    <fileset dir="." includes="${toString:foo}" />
  </zip>
</project>
于 2013-01-25T22:17:37.087 に答える