1. 程式人生 > 其它 >Mybatis 報錯 java.io.IOException: Could not find resource mybatis-config.xml

Mybatis 報錯 java.io.IOException: Could not find resource mybatis-config.xml

技術標籤: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資料夾。因此,解決這個報錯有兩個操作

  1. 在pom檔案中新增標籤
  2. 將resource目錄設定為Resources Root資料夾。選中resource資料夾,右鍵選擇Mark Directory As–>Resource Root。

延申知識

在IDEA中,不同作用資料夾的圖示是不同的。在IDEA 2020.1版本中新建的maven專案,resource資料夾預設是一般資料夾,圖示如下圖1。

圖1 IDEA一般資料夾圖示
將其設定為Resources Root檔案後,其圖示如下圖2。
圖2 IDEA的Resources Root型別資料夾圖示

參考資料