我已經使用NetBeans 7.2.1編寫了一個java Servlet web應用程序。該程序有一些附加到項目的jar文件庫。使用NetBeans和Apache Tomcat 7.0.27可以正常運行應用程序。如何更改jar文件在java Web應用程序中使用的路徑
我的問題是,我在項目中使用的一些jar文件庫需要訪問一些文件夾和文件。我將這些文件夾和文件放在與整個NetBeans項目相同的目錄中。但我得到這個異常:
Exception: java.lang.RuntimeException: java.io.FileNotFoundException
所以我用這些代碼,找出我應該把他們:
out.println("current directory: " + new File(".").getAbsolutePath());
out.println("current directory: " + System.getProperty("user.dir"));
out.println("current directory: " + getServletContext().getRealPath(("/")));
所以我想通了,當前的工作目錄是:
Ç :\ Program Files \ Apache Software Foundation \ Apache Tomcat 7.0.27 \ bin
我的問題是我該如何設置不同的目錄每個Web應用程序的地址?我有很多Web應用程序,其中一些使用相同的資源文件名。我不能只把它們放在一個目錄中。
請注意,我無法訪問jar文件的源代碼來更改。我只需要一種方法來設置jar文件使用的絕對路徑。
當我將WAR文件放在unix服務器上時,我遇到同樣的問題。提取WAR文件在服務器上的這個位置:
/data02/tools/Apache/Tomcat/apache-tomcat-6.0.37/webapps/BANNEROnline
但我想我應該把資源文件夾和在這個路徑的文件(moosavi3是我的用戶名!):
/家庭/ moosavi3
如何更改路徑?
所以做的jar文件現在總是試圖從當前工作負載的資源目錄? –
是的。 jar文件嘗試訪問當前工作目錄中的文件和文件夾。我不知道如何改變它。 – Soheil
我們在談論什麼樣的jar文件?自產自銷? (爲什麼你沒有他們的來源?)開源? (同樣的問題)商業? (誰寫軟件與這些障礙?)可能是因爲你錯過了軟件上的配置選項?你如何將文件名傳遞給這些應用程序? –