1:问题概述:Could not find resource mybatis-config.xm
Could not find resource mybatis-config.xml 问题的解决方案&&Mabats找不到xml的资源文件文件
1.1idea报错
1.1.1 分析
项目目录结构
找不到资源文件:
1.是否是文件地址写错了呢?
发现没有错
2.是否是资源拦截器拦截了xml文件呢?
果然拦截器拦截了资源
现在我们把resource标签去掉
Run:
The error may exist in com/yujie/mybatis/mappers/UserMaper.xml
现在我们去看看 com/yujie/mybatis/mappers/UserMaper.xml
Maven编译的时候UserMaper.xml没有编译
这个问题的解决办法是:
Maven由于约定大于配置的理念。 遇到无法生效或者或者导出的资源需要在pom.xml中配置resources标签
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
Run:
现在可以跑了
问题总结
在使用Maven的过程中,错误的配置pom.xml,
<build>
<resources>
<resource>
<!--directory:目录 描述:描述存储资源的目录。 该路径是相对于POM的-->
<directory>src/main/resources</directory>
<!--includes:包括 描述:要加载的资源目录,例如**/*.xml -->
<!-- 如果不加载资源就用这给标签配置资源文件的地址 -->
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!--excludes:拦截 描述:要拦截的资源目录 -->
<excludes>
<exclude></exclude>
</excludes>
<excludes>
<exclude></exclude>
</excludes>
<!-- turn 启动,false 不启动-->
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes></excludes>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
一定要明白resources标签中includes和excludes的区别一旦用错,资源就会不加载或者被拦截
2021-05-19 10:57:31 星期三