报错 :
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
Registered plugin: 'com.github.yulichang.interceptor.MPJInterceptor@3b2c8bda'
Parsed mapper file: 'file [/Mapper.xml]'
application无法启动
我这边产生原因是项目中添加了 mybayis-plus-join插件 导致这个问题
然后本人一顿骚操作:升级到JDK17 升级 到maven3.9.6 痛苦无比报错依旧,有说sql写错的。我就没几条sql 哈哈
然后 mvn clean install 构建成功 但是启动依旧报错 崩溃中。。。。。。。
取消掉所有mapper文件的extends MPJBaseMapper<> 报错依旧
取消掉断点 报错还是依旧
打钩的先全部取消掉
最后的问题是项目没有识别到mapper下的xml文件 。 路径配置问题。。需要重新导入maven
此时网上关于这个报错基本已经试完 可是我的报错依旧。。。。
相关概念:
maven项目结构:
src/main/java 默认加载java文件 一般只放java文件
src/main/resources 默认放各种配置文件,如html yaml文件 css文件,xml文件等
因此 src/main目录下的java文件编译后都在 target/classes目录下。
所有 classpath的意思是 项目根路径 也就是 target/classes
因此,将所有的xml文件放置到resources目录下 即可识别出xml文件
问题解决
但是我偏偏就是把xml想放在mapper下。 /src/main/mapper
需要再pom.xml文件中 配置一下
<build><resources><resource><directory>src/main/java/</directory><includes><include>**/*.xml</include></includes></resource>
</resources>
</build>
applicaton,yml中的配置
mybatis-plus:mapper-locations: classpath:**/mapper/*.xmlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplcall-setters-on-nulls: true
但是我的问题是这样配置之后还是不识别 还是报错怎么办?
只能让idea重新指定一个配置文件 resource文件
idea-》 setting->modules-> Resources
搞定 真是太蛋疼了。。。。
最后试一下。
这个报错和你项目启动与否没有特别直接的联系。。。但是有些影响。之前的各种mapper.xml接口sql文件都是在/src/main/cn.devops.mapper/下面。。加入mybatis-plus-join导致无法启动application项目。各种尝试以后,最后有效的位置只能是resources下面 问题得以解决。。
最后的配置修改如下:
pom.xml
application.yml 中mybayis-plus的修改
最后mapper文件移动至resources下面(以前在main/java下面)