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 星期三