[英]How do I specify a directory for properties files in a jar manifest classpath?
我想將我的可執行jar所需的所有.properties文件放在要運行jar文件的目錄的子目錄中。 當前,我的MANIFEST.MF看起來像這樣:
Manifest-Version: 1.0
Build-Jdk: 1.6.0_26
Main-Class: MyMainClass
Class-Path: . conf lib/dependency1.jar
如果我將.properties文件與jar文件放在同一目錄中,則一切正常。 如果將它們移至conf
子目錄,則找不到它們。 我也嘗試過直接指定.properties文件的路徑,例如conf/log4j.properties
。
我想做的事可能嗎?
更新:這是我的可執行jar中失敗的代碼示例:
InputStream stream = getClass().getClassLoader().getResourceAsStream("myproperties.properties");
當myproperties.properties
位於conf
子目錄中時,此語句返回空的InputStream。 當log4j.properties
位於conf
子目錄中時,它輸出有關未找到其配置的警告消息:
log4j:WARN No appenders could be found for logger (MyMainClass).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
嘗試使用org.apache.log4j.PropertyConfigurator.configure(String configFilename)
這可以用來指定日志文件的位置。
還有就是一個很好的例子在這里: http://logging.apache.org/log4j/1.2/manual.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.