0

Logback ロガーを使用している Maven (Java) プロジェクトがあり、ファイルlogback.xmlを使用してロガーを構成しています。現在、logback.xml在住src/main/resources。これにより、Eclipse からプロジェクトを実行すると、そのロガー構成が自動的に jar ファイルに含まれ、実行時に使用されるようになります。

ただし、プロジェクトのバイナリ ディストリビューションを (アセンブリ プラグインを使用して) 作成したいと考えています。この場合、ロガー構成はjar ファイルの外部conf/(別のディレクトリなど) で利用できる必要があります。これを設定する最良の方法に苦労しています。

ファイルを個別にインクルードすることは問題ではありません (アセンブリ記述子で単純なfileSetorディレクティブを使用できます) が、ファイルを含まないfileプロジェクトの jar ファイルをアセンブリに作成させる方法がわかりません。logback.xml

私が考えることができる唯一の方法は、ファイルを移動src/main/resources/してjarファイルに含まれないようにし、代わりにtarget/ディレクトリに追加して、Eclipseのランタイムクラスパスに含まれていることを確認することです(そしてそこから明示的にコピーしますアセンブリ記述子で)。ただし、チェックインされたファイルをtarget/入れるのは気が進まないので、これを行うためのより良い方法があることを望んでいました.

4

1 に答える 1

0

私はそれを理解しましたが、実際にはかなり単純です。

maven-jar-pluginプロジェクトの pom にの構成を追加して修正しました。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <excludes>
                    <exclude>**/logback.xml</exclude>
                </excludes>
            </configuration>
        </plugin>

これにより、ファイルは Eclipse のランタイム クラスパス ( 内target/classes) で引き続き使用できますが、プロジェクト用に jar が生成されるときに含まれません。

于 2013-06-12T23:28:56.980 に答える