0
我有我在Linux上從一個可執行的JAR文件log4j喜歡它在jar文件中的屬性?
java -cp .:./lib -Duser.timezone=GMT -Dlog4j.debug -jar programName.jar
程序使用了其他一些jar文件這些都是在一個目錄和4個屬性直接執行Java應用程序文件的全是在另一個目錄(當前目錄)中。這兩個目錄都包含在CLASSPATH
中。
夠簡單吧。
這將是,除了Log4j未能找到log4j.properties
。我已經成功的唯一途徑,使其找到log4j.properties
是將其包括在programName.jar
這不是我想要的,我想要使用log4j.properties
它駐留在同一目錄中的所有其他屬性的文件,他們是在CLASSPATH
並按照您的預期找到。
正在使用的其他jar文件是:
jdom-2.0.5.jar
log4j-1.2.17.jar
ojdbc7.jar
quartz-2.2.1.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.7.jar
我想知道是否slf4j-log4j12-1.7.7.jar
做一些配置,防止log4j在尋找屬性文件時掃描CLASSPATH
。我的代碼不包含任何旨在指定屬性文件位置的說明。
我還沒有嘗試執行該程序沒有-jar
選項,我會嘗試下一步。
到目前爲止,這個鈴響了嗎?
謝謝你的建議,但我不明白你的推理。我的log4j.properties只是根據它的內容定製的。它的名字和位置是標準的。請你能詳細解釋爲什麼當我使用標準(非xml)名稱時需要指定名稱。 – user835745 2014-09-26 15:55:38
我更新了我的答案。我希望這可以幫助你。 :) – 2014-09-26 17:24:17
你好保羅,謝謝你,你的建議確實有幫助,它讓我走了。可悲的是我仍然感到沮喪,不知道爲什麼Log4j無法找到log4j.properties,即使它在CLASSPATH中。 – user835745 2014-09-29 19:09:21