解決Intellij IDEA 中src下xml等資源文件沒法讀取的問題

該問題的實質是,idea對classpath的規定。java

在eclipse中,把資源文件放在src文件夾下,是能夠找到的;mybatis

可是在idea中,直接把資源文件放在src文件夾下,若是不進行設置,是不能被找到的。app

下面說說幾種解決方法,網上說的都很混亂,我這裏作一個總結:推薦方法4eclipse

一、將資源文件放在resource目錄下。maven

這樣作很方便,比較容易想到,可是層次性就不好了,好比mybatis的映射配置文件mapper.xml,原本須要放在特定的包裏面,與dao層,service層等層次爲同一個層級,現在只能放在resource文件夾下,不方便分層;ide

2.若是該項目是maven項目:測試

配置maven的pom文件配置,在pom文件中找到<build>節點,添加下列代碼:ui

<build>
   <resources>
      <resource>
         <directory>src/main/java</directory>
             <includes>
                <include>**/*.xml</include>
            </includes>
         </resource>
    </resources>
</build>

我嘗試過將directory修改成具體的放置配置文件的包,即修改爲 src/main/java/lj/necpu/mapperXML,而後<include>標籤裏面也作了不少修改和 嘗試,始終沒法訪問到配置文件;idea

因此,直接使用上面這樣的配置就好;若是仍是不能訪問,歡迎跟帖討論;若是你知道應該怎麼樣修改,也請跟帖討論,謝謝~spa

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文件。

相關文章
相關標籤/搜索