2014-04-11 157 views
0

我有一個目錄/ release /包含我的application.jar以及log4j2.xml文件。當我使用java -jar application.jar運行應用程序時,它不會拾取log4j2.xml配置文件。它的工作原理,如果我明確指定,像這樣從與jar文件相同的目錄加載log4j2.xml文件

java -Dlog4j.configurationFile=log4j2.xml -jar application.jar

XML文件的位置,有沒有一種方法,我可以教我的程序作爲罐子在於能夠始終從同一目錄拿起配置文件?我想讓程序儘可能簡單,並且不需要用戶在運行應用程序時設置一個尷尬的系統屬性。

回答

1

沒有系統屬性,log4j-2.0將在類路徑中查找log4j2.xml文件。因此,我正在閱讀您的問題:我如何使用java -jar application.jar啓動我的應用程序並在類路徑中包含log4j2.xml文件?

這取決於您的application.jar文件是否在其清單中有Class-Path條目(http://docs.oracle.com/javase/8/docs/technotes/tools/windows/findingclasses.html#sthref8)。

當然,您可以簡單地將log4j2.xml文件包含在application.jar文件中。 如果您想避免這種情況,可以將包含log4j2.xml文件的目錄添加到JAR文件清單中的Class-Path條目。 (這可能是「。」當前目錄。)

+0

謝謝你的工作! – PaulK