java.io.IOException: Could not find resources mybaits-config.xml
原文链接:这里
0.前言
调试IDEA+maven+mybatis时遇到的一个奇葩错误,
java.io.IOException: Could not find resources mybaits-config.xml
这个错误的意思是没有读取到mybatis配置文件。按照这个报错去百度了一堆答案都没有正常解决。最终在大神的提醒下发现了问题所在,记录下来解决方法,以共参考。
出错的代码:
文件位置:

在此之前已经尝试过使用路径直接锁定mybatis-config.xml文件的位置发现不行。
1.解决办法
按照百度给的一些答案,整理一下,主要报错是意思是”没有找到xml配置文件“
有个比较直观的方法看是否可用,就是看target文件夹下classes有没有生成配置文件,如果有标识能够读取,如果没有表示不能读取。下面任何一种方法如果不能在target中 生成我们的配置文件,基本可用判断读取文件失败。

另外,每种办法试过以后都建议使用 clean、build指令,甚至重启IDEA(我最后改的就是重启后才好用的)
注:已经尝试过直接将mybatis-config.xml文件复制到classes文件夹下直接运行测试程序,这个发现是正常的(前提是你的数据库配置都正确),说明还是配置的一些问题导致没有正常生成mybatis-config.xml文件。
解决方法一:没有正确设置资源文件夹导致没有读取成功。IDEA不会去读取任意文件夹里面是配置文件,你必须告诉它配置文件在哪。本文的配置文件在src/main/resources里面的,这种情况是你没有正确配置资源目录导致不识别的,解决方法比较简单。右击resources文件夹,选择”标记目录“,选择标记为”资源跟“(如果是资源根就不能标记)。然后执行clean、build(右上角的小锤子或ctrl+F9)。最后执行test测试看下是否正常。
注:次方法对我没有作用

解决办法二:修改pom文件。我们可用在pom文件中指定资源目录,在pom文件中添加如下代码:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
然后重新clean、build,甚至是重新启动IDEA,看是否正常。
注:此方法对我也没有用。
解决方法三:在我百思不得其解的情况下,在大神的提示下,终于找到了问题所在。问题还是出在pom文件中。
在创建子模块的时候引入了这个坐标,但是这个测试程序就一个模块,测试文件也就一个,而且后来我把子模块删了,留了一个在这,外部如果这样的话表示不会在外部生成东西。所以有两个办法,一个是改成
<packaging>jar</packaging>
一个是直接删除掉这一行。
果然,删除掉这一行,重启IDEA,clean,build后,然后就发现target下面的classes下面果然出现了mybatis-config.xml文件,测试也正常。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析