![](/img/trans.png)
[英]Eclipse doesn't show src/main/resources in my maven project the way I see it elsewhere
[英]Maven project doesn't put files in src/main/resources on classpath
我在Eclipse中有一個Java項目。 我想要讀取某個文件夾中的文件。 我使用以下代碼:
File file = new File("directory/filename.txt");
如果我有一個簡單的Java項目,則使用以下布局:
Project
|
+- src
+- lib
+- directory
|
+ filename.text
代碼工作正常,我可以讀取文件。 如果我現在將此項目轉換為maven項目,則除了pom.xml文件和目標文件夾外,在Eclipse中所做的更改不多(恢復了以前隱藏的“ bin”輸出文件夾,現在它是常規文件夾。布局變為:
Project
|
+- src
+- lib
+- bin
+- target
+- directory
| |
| + filename.text
+- pom.xml
因為我想使用Maven項目設置,所以我刪除了src文件夾,並在Eclipse中的項目中添加了4個新的源文件夾:
我將filename.text
復制到資源文件夾,該文件夾應自動將其內容放在類路徑中。 我的項目布局變為:
Project
|
+- src/main/java
+- src/main/resources
| |
| + filename.text
+- src/test/java
+- src/test/resources
+- lib
+- bin
+- target
+- pom.xml
現在我注意到該代碼不起作用(NoSuchFileException)
File file = new File("filename.txt");
但是這段代碼確實有效:
File file = new File("src/main/resources/filename.txt");
注意:我運行代碼的方式是將其作為Java項目在eclipse中運行。 在我的主類的main方法中,文件讀取代碼僅占一行。
我想知道我錯過了什么配置,因此eclipse / maven認為src / main / resources文件夾位於類路徑的根目錄下,而不只是我必須明確命名的隨機文件夾。 這特別奇怪,因為我的log4j庫找到並使用了資源文件夾中的另一個文件log4j.properties,沒有任何問題。
注意:如果構建項目並將其安裝在本地存儲庫中,則實際上可以看到兩個文件(filename.txt和log4j.properties)都整齊地位於目標/類下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.