运行jar包时报错:[mybatis-config.xml] cannot be opened because it does not exist

#运行jar包时报错:[mybatis-config.xml] cannot be opened because it does not exist
在做Springboot项目时,遇到个问题,用IDEA调试程序的时候能正常编译运行,但是用maven将程序package一个jar包,运行jar包时,就会报错java.io.FileNotFoundException: class path resource [mybatis/mybatis-config.xml] cannot be opened because it does not exist,如下图:
目标jar包
报错信息
然后按照这个报错去寻找原因,首先源文件中,mybatis-config.xml文件是存在的,在application.yaml文件中配置的mybatis-config.xml也是正确的,这也保证了程序能正常调试,不会报错,如下图:
配置文件存在
配置路径正确
随后再查看,maven package后的target文件夹下,发现mybatis-config.xml文件依然存在,位置也是在目标路径下,完全没问题!!
在这里插入图片描述
这下可两眼一抹黑,不知道咋整了,明明jar包中存在这个mybatis-config.xml文件,怎么运行就找不到呢?
后来细细看下(运行调试了好久),才发现原来是自己粗心,就写错了一个大小写字母…
问题在这:
错误原因
将配置文件中小写的m换成路径中大写的M,再用maven clean并package一下项目,问题解决!
在这里插入图片描述
这才知道在application.yaml中写配置文件路径时,不但要单词写对,连大小写都不能错。单词写错的话在调试的时候就会发现并报错,但是大小写问题,编译和调试都是能过的(这个就比较坑了,虽然还不太清楚底层原因),你发现不了问题,只有当运行打包完成的jar文件时才会发现执行不了,而且这个小问题也比较隐蔽,难以被发现,还是码代码的时候就要注意哈~
以上是全部的分享,知道底层原因的小伙伴,可以的话还请告知下,谢谢~

猜你喜欢

转载自blog.csdn.net/weixin_44239774/article/details/127832230