控制台日志提示:
Error parsing Mapper XML.The XML location is XXX.xml
Cause: org.apache.ibatis.builder. BuilderException: Error resolving class.....
这种提示:一般是maven打包编译的问题
是全量和增量打包问题
全量打包 mvn clean package
增量打包 mvn package
出现这种提示,而且提示的xml文件在项目中也找不到,且在运行时报错,很有可能是这个xml文件名之前被创建了,后面又修改了这个文件名,导致资源文件打包后不一致.
解决办法:不要用增量打包,而改用全量打包方式
增量打包的方式是比较快的,如果只是修改这个xml文件的内容那是可以的,但如果修改了这个xml文件名则必须采用全量打包
后面再对比详解:




一句话记住:开发时图快用 mvn package,发布时保纯净用 mvn clean package。
最后提一点:为何不用idea中的maven插件打包编译,而用maven命令方式.因用命令更高效,特别是对于多服务多分层的情况,用bat文件来执行,更方便
如下 我常用的一个打包编译脚本 deploy.bat
@echo off
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-api"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-app"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-service"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-portal"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-gateway"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-schedule-web"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-web"
rmdir /s /q "C:\maven3.9\myRepo\com\csair\meng-service"
rem msg %username% "meng-schedule依赖清理成功!"
echo meng-schedule本地依赖清理成功!
cd C:\code\ideaPro\test03Temp\meng-schedule\meng-schedule\
call mvn install -T 2C -Dmaven.parallel=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -s C:\maven3.9\conf\settings_sample1.xml
echo meng-schedule模块本地依赖安装成功!
cd C:\code\ideaPro\test03Temp\meng-schedule\meng-service
call mvn clean package -T 2C -Dmaven.parallel=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -s C:\maven3.9\conf\settings_sample1.xml
cd C:\code\ideaPro\test03Temp\meng-schedule\meng-web
call mvn clean package -T 2C -Dmaven.parallel=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -s C:\maven3.9\conf\settings_sample1.xml
echo meng处理工作正确完成了运行吧
timeout /t 1000 /nobreak >nul
exit

866

被折叠的 条评论
为什么被折叠?



