私はいくつかの依存関係を持つMavenプロジェクトを持っており、log4j.properties
出力を制御するために使用しています。場合によっては、同じクラスが異なるパラメーターを持つ異なるプロパティ ファイルで参照されることがあります。プロパティを「オーバーライド」するための定義済みのプロトコルはありますか、それともパッケージがロードされる順序に依存しますか?
(私はすべてlog4j.properties
直下に位置しsrc/main/resources
ています - これは正しい場所ですか?)
更新:解決策を簡単にするわけではありませんが、理にかなっているので@Assenの回答を受け入れました。基本的に、彼は jar から log4j.properties を除外することを推奨しています。原則として同意しますが、出力を制御する負担がユーザーにかかり、ほとんどのユーザーは Java が何であるかを知りません。プロパティ ファイルは言うまでもありません。おそらく、各 jar 内のプロパティ ファイルの名前を変更し、スイッチ (おそらく -D を使用) を使用してプロパティを有効にする方法があります。