1.前言:
最近在学mybatis,报这个错误:
java.io.IOException: Could not find resource mapping/UserMapper.xml
鉴于写了很多代码,按道理来讲,不可能出现UserMapper.xml找不到的情况啊。
查阅了相关资料,发现原来是idea使用的一点小坑。
2.解决过程:
我们知道idea文件夹是分很多种的,比如一个典型的基于maven的webapp工程,如图:
注意图中标注,java是source root,而resources是resource root,简单理解就是idea规定的两种不同的文件夹,用来区分资源文件和代码文件。更详细的解释:
问题在于两种文件夹,创建多级文件夹时,使用的符号不同。
在source root下,创建多级文件夹,可以使用.号自动分割。如图,会自动展开成com/itheima
而在resource root下,创建多级文件夹,必须使用/号。如图,与上图是同样的效果。
但如果使用.号呢?IDEA会认为你创建了一个名字叫com.itheima的文件夹,并不是多级文件夹。
参考文章:
3.其他:
其实点击右上角小齿轮,选择不合并多级文件夹,可以有效避免这个情况,我为了平时开发方便,都点上了,就猜到这个坑了。本质上还是经验匮乏。
4.总结:
了解idea中各种root,熟悉常用操作和快捷键;
提示文件找不到,大概率是文件路径写错了。
勤于反思总结,多看技术博客。