首先,如果標題的描述不像應該的那樣抱歉,但很難用這種簡短的方式解釋它。Web應用程序中使用的JAR文件上的相對路徑
我有一個Java應用程序(非網絡),它必須從屬性文件讀取。這個Java應用程序也必須作爲JAR文件導出,然後用於Web應用程序,但屬性文件不在JAR文件中。它應該是這樣的:
/webapps/MyWebApp/WEB-INF/myJavaApp.jar
/webapps/MyWebApp/WEB-INF/config.properties
因此,編碼將被導出爲myJavaApp.jar的Java應用程序時,我不能做,所以它會從一個相對路徑讀取config.properties文件。如果我把絕對路徑它正常工作:
properties.load(new FileInputStream("C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/MyWebApp/WEB-INF/config.properties"));
但是,如果我嘗試使用相對路徑它不起作用。我從這裏或其他網頁嘗試過不同的解決方案,但都沒有工作。
差不多忘了,我正在閱讀屬性文件的類是靜態的!
如果有人可以對此有所瞭解,將不勝感激。
謝謝先進。
它正在工作!我添加了'../../../ config/config.properties',以便將屬性文件放在Web應用程序目錄的頂部。現在的問題是,配置文件的任何修改需要重新啓動Tomcat以應用:(。有沒有什麼辦法可以避免這種情況?因爲當我使用絕對路徑時,我可以在運行中修改配置文件」。謝謝 – Jinka 2012-02-10 12:13:41
你不想使用相對路徑'../../../ config/config.properties'。類路徑(或者可能是一個子目錄)是這個資源生存的理想場所。 – 2012-02-10 13:58:54
至於Tomcat必須重啓,也許它使用'antiResourceLocking',導致一切都被複制到其他地方? – 2012-02-10 14:00:21