Mybatis 報錯 java.io.IOException: Could not find resource mybatis-config.xml
阿新 • • 發佈:2021-01-10
技術標籤:mybatis
問題描述
在使用mybatis過程中,程式需要讀取mybatis-config.xml配置檔案,IDEA預設將這個資原始檔放在resource目錄下,啟動專案報錯。內容如下:
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.io.IOException: Could not find resource Mybatis-config.xml
at org.apache.ibatis.io.Resources.getResourceAsStream (Resources.java:114)
at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:100)
at utils.MybatisUtils.<clinit>(MybatisUtils.java:29)
at dao.UserMapperTest.test(UserMapperTest.java:30)
//此處省略部分
java.lang.NullPointerException
at utils.MybatisUtils.getSqlSession(MybatisUtils.java:41 )
at dao.UserMapperTest.test(UserMapperTest.java:30)
//此處省略部分
報錯內容的提示很明確,找不著Mybatis-config.xml資原始檔。對於這個問題,網上給出有三種解決辦法,其中主要的方法是在pom檔案中新增如下標籤,但在程式中新增這個標籤之後,錯誤依然存在。
<build>
<resources>
<resource>
<directory>src/main/java</directory>
< includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
解決辦法
網上給出的標籤是解決找不到資源問題的核心辦法,但使用該方法存在一個前提,需要src\main\下的resources目錄是一個Resouces root資料夾。因此,解決這個報錯有兩個操作
- 在pom檔案中新增標籤
- 將resource目錄設定為Resources Root資料夾。選中resource資料夾,右鍵選擇Mark Directory As–>Resource Root。
延申知識
在IDEA中,不同作用資料夾的圖示是不同的。在IDEA 2020.1版本中新建的maven專案,resource資料夾預設是一般資料夾,圖示如下圖1。