這個問題的實質是,idea對classpath的規定。
在eclipse中,把資源檔案放在src資料夾下,是可以找到的;
但是在idea中,直接把資源檔案放在src資料夾下,如果不進行設置,是不能被找到的。
下面說說幾種解決方法,網路上說的都很混亂,我在這裡做一個總結:推薦方法4
1.將所有資源檔案放在resources資料夾下
這樣做很方便,比較容易想到,但是層次性就很差了,例如mybatis的映射設定檔mapper.xml,本來需要放在特定的包裡面,與dao層,service層等層次為同一個層級,如今只能放在resource資料夾下,不方便分層;
2.如果該專案是maven專案:
配置maven的pom檔案配置,在pom檔案中找到5ac54a929980b32fdd2e48b6a8da067c節點,加入下列程式碼:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
我嘗試將directory修改為特定的放置設定檔的包,即修改成src/main/java/lj/necpu/mapperXML ,然後dcf91641426a34cf32ecc36140f28baf標籤裡面也做了很多修改和嘗試,始終無法訪問到配置文件;
所以,直接使用上面這樣的配置就好;如果還是不能訪問,歡迎跟帖討論;如果你知道應該怎麼樣修改,也請跟帖討論,謝謝~
3.將包含設定檔的包,mark directory as ... Resources:
直接右鍵點擊包-> Mark Directory As ,你會發現只有一個exclude;怎麼辦?
Project Structure -> Modules -> Sources -> 選擇包含設定檔的package -> Mark as -> 選擇第三個Resources -> OK
4.將package加入classpath:
Project Struture -> Modules -> Dependencies -> "+" -> JARS or directories -> 選擇套件
-> 彈出Choose Categories of Selected Files -> 選擇Classes -> OK
以上幾種方法是在IDEA開發環境中可以找到資源文件,但具體打包發佈是否會包含該資源文件還需具體測試。
我的測試結果是,4種方法都可以在發佈時包含package中的xml檔。
以上是src下xml等資源檔案無法讀取的問題在IDEA中如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!