2017-03-09 51 views
0

我在eclipse中有一個maven web項目。我需要獲得項目的路徑,實際上必須獲取項目中src\main\resources\someFolder下的文件列表。Eclipse顯示不正確的項目路徑

試過String dataDir = "src\\main\\resources\\someFolder";,運行時這個目錄結構是在eclipse文件夾裏面創建的,如F:\softwares\eclipse\eclipse\src\main\resources\someFolder。使用/而不是\\時相同。

試過System.getProperty("user.dir")new File(".").getAbsolutePath(),它們返回F:\softwares\eclipse\eclipse

我需要訪問我的工作區F:\workspace\Project\src\main\resources\someFolder

但創造了一個核心的Java應用程序和使用System.getProperty("user.dir")new File(".").getAbsolutePath()的時候,我得到的工作區項目的路徑,F:\workspace\Project項目文件夾。這src\\main\\resources\\someFolder也工作得很好。

爲什麼這個奇怪的行爲從日食?

回答

0

如上所述here目錄user.dir是啓動JVM的地方。由於Web應用程序大多是放置在服務器文件夾內的jar/war/ear包,因此eclipse以不同的方式處理它們,因爲這種Web應用程序的行爲是不同的。您無法期望從jar/war/ear文件之外獲得文件訪問權限。在jar/war/ear文件中,只需通過使用getResourceAsStream就可以獲得src/main/resources中的所有內容,如其他許多stackoverflow文章中所述。這樣您就不能使用src/main/resources/myfile.txt,而是使用myfile.txt

不要試圖猜測或使用user.dir/JVM/server啓動文件夾!