2013-10-17 50 views
0

我試圖部署一個使用log4j的小應用程序。該應用程序作爲可執行jar部署,其中包含一個包含Class-Path屬性的清單。
這是通過Ant jar任務完成的。這是定義類路徑的行在Java jar文件的清單中定義的classspath的範圍是什麼

<attribute name="Class-Path" value=" ./ islib islib/commons-lang-2.0.jar islib/commons-logging-1.0.jar islib/log4j-1.2.16.jar" > 

可執行jar部署並從C:/ ami/bin運行。如果它位於C:/ ami/bin/islib中,則無法找到log4j.properties,但如果它位於C:/ ami/bin中,則會找到它。 找到/ islib中的所有其他jar並且應用程序正常運行。

清單中的Class-Path是否僅爲jar中的類定義類路徑?

回答

1

Classpath定義了類加載器應該在哪裏找到類。

Log4j.properties不從Classpath中讀取,而是從文件系統中讀取,即,相對於程序啓動時的當前目錄。

(如果您使用slf4j作爲日誌API,Logback將在Classpath中查找其配置文件)

相關問題