2011-08-27 92 views
4

當我從命令行運行「java pakcage.Main」時,我的log4j工作正常,但是當我使用像「java -jar myjar.jar」這樣的可執行jar運行相同的程序時, m到處以下錯誤:java:log4j:jar可執行文件的問題

log4j:WARN No appenders could be found for logger 
log4j:WARN Please initialize the log4j system properly 

log4j.jarlog4j.properties是threre在我的清單的Class-Path

我確定它一次正常工作,但重建後它不起作用。

+0

屬性文件不能位於類路徑中。 jar或目錄可以是,但不是屬性文件。包含log4j.properties的目錄(或包含它的jar)應位於類路徑中。 –

+0

非常感謝@JB Nizet。現在工作正常。 –

回答

4

您可以只列出的jar文件或目錄的類路徑的一部分。不應該指定log4j.properties,而應該指定屬性文件相對於正在執行的jar的目錄。

實施例:

如果myjar.jar在基目錄,log4j.jar在./lib/和log4j.properties在./conf/

在myjar.jar的類路徑條目如下

類路徑:LIB/log4j.jar的conf/

1

我相信你也應該能夠簡單地包括您的log4j.xml(或log4j.properties)自定義Jar文件內文件。只要它位於Jar文件的根目錄下,log4j框架就能夠找到它。