我正在maven web應用程序中工作。我需要讀取一個目錄(例如:文件)在我的WebApp文件夾,如下所示,如何讀取Maven Web應用程序的webapp文件夾中的目錄
Java.io.File file = new Java.io.File("path");
但我不知道怎麼在這裏指定目錄的路徑。
我正在maven web應用程序中工作。我需要讀取一個目錄(例如:文件)在我的WebApp文件夾,如下所示,如何讀取Maven Web應用程序的webapp文件夾中的目錄
Java.io.File file = new Java.io.File("path");
但我不知道怎麼在這裏指定目錄的路徑。
你不應該給本地路徑地址。路徑應該是相對地址,例如(.war)文件夾下的/files/images
。
要正確使用相對路徑,我建議你到目標文件夾添加到pom.xml中的資源definiton,請瀏覽網頁 http://www.mkyong.com/maven/how-to-change-maven-resources-folder-location/ http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
你可以參考資源文件夾輕鬆地像這樣的東西:
this.class.getResource("Mydirectory/SubDirectory");
如有疑問親戚路徑是如何工作的,它總是最好做這樣的事情:
System.out.println(new File("/my/desired/directory").getAbsolutePath());
這將打印出類路徑將查找文件的路徑。
假設:
/var/lib/tomcat6/webapps
my-webapp.war
你應該看到下面的輸出:/var/lib/tomcat6/webapps/my-webapp/my/desired/directory
另一個指針:你提到你正在尋找webapp
目錄。我希望你知道這個目錄不會以*.war
- 結尾,它的內容將會是。
我使用Glassfish作爲Web服務器 – Prince 2012-02-17 09:56:14
戰爭文件在部署到應用程序服務器時並不總是展開,因此文件系統中可能不存在相對路徑,全部爲。
最好的選擇是使用類加載器的getResource,它將返回類路徑(WEB-INF/lib目錄等)中的東西,或者使用ServletContext的getResource()方法在Web應用程序中查找事物本身。
這個問題與Maven有什麼關係? – 2012-02-17 09:59:59
我正在從事ina maven web應用程序。因此,在Maven工作的人會知道Maven應用程序中的文件夾層次結構。 – Prince 2012-02-17 10:03:15
你認爲web-app目錄結構(部署在服務器上)與你的maven目錄結構相同是錯誤的 – 2012-02-17 10:05:33