Mybatis 报错 java.io.IOException: Could not find resource mybatis-config.xml

问题描述

在使用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类型文件夹图标

参考资料

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值