4

https://github.com/sbt/sbt-assemblyに基づいてアセンブリ jar プロジェクトを作成し、"logback.xml" と "application.conf" を外部からロードして、fatjar にパッケージ化された両方のデフォルト ファイルをオーバーライドしたいと考えています。

これに似たもの

  java -jar XXX.jar -Dlogger.resource=prod-logger.xml -Dconf.resource=application.conf

play が提供するものと非常によく似ていますhttp://www.playframework.com/documentation/2.0/SettingsLogger

これを行うことができますか?

4

1 に答える 1

0

ログバック構成は次のように述べています。

  1. Logback は、クラスパスで logback.groovy というファイルを見つけようとします。
  2. そのようなファイルが見つからない場合、logback はクラスパスで logback-test.xml というファイルを見つけようとします。
  3. そのようなファイルが見つからない場合は、クラスパスでファイル logback.xml をチェックします。
  4. どちらのファイルも見つからない場合、logback は BasicConfigurator を使用して自動的に構成され、ロギング出力がコンソールに送信されます。

したがって、これを外部で構成する場合は、クラスパスにアクセスできる必要があります。-jarJava のセクション - Java アプリケーション ランチャーには次のように表示されます。

このオプションを使用すると、JAR ファイルがすべてのユーザー クラスのソースとなり、他のユーザー クラス パス設定は無視されます。

これには-cpオプションが含まれます。だからあなたが立ち往生しているのはjava -cp XXX.jar:somedir Main、構成を使用して配置することsomedirです。

于 2013-08-24T01:25:21.293 に答える