2013-07-25 75 views
4

我已經創建了一個基於https://github.com/sbt/sbt-assembly組裝JAR項目,並希望加載「logback.xml」和「application.conf」外將覆蓋包裝都在默認的文件胖子。傳遞外部參數SBT罐子(SBT通過裝配創建)

類似的東西這個

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

非常相似,Play提供http://www.playframework.com/documentation/2.0/SettingsLogger

可以這樣做,如果是如何?

回答

0

Logback configuration說:

  1. 的logback試圖找到一個名爲logback.groovy在classpath文件。
  2. 如果沒有找到這樣的文件,的logback試圖找到一個名爲的logback-的test.xml在classpath文件。
  3. 如果沒有找到這樣的文件,它會檢查在classpath中文件logback.xml。
  4. 如果找到既沒有文件,的logback配置自身自動使用,這將導致日誌輸出被引導到控制檯BasicConfigurator。

所以,如果你想外部配置這個,你需要有權訪問類路徑。 -jar section on java - the Java application launcher說:

當您使用此選項時,JAR文件是所有用戶類的來源,並且其他用戶類路徑設置將被忽略。

這包括-cp選項。所以你被卡住使用java -cp XXX.jar:somedir Main,把你的配置在somedir