【项目问题解决】java启动时提示non-compatible bean definition of same name and class【XXX.XXX.XXX.XXX】解决方法

主图==========

目录


1.前言

容器在启动时扫描到了同名的Bean(被@Service @Controller @Compoent等注解标识的)

2.java启动时提示non-compatible bean definition of same name and class【XXX.XXX.XXX.XXX】解决方法

2.1项目没有重新打包

原因:可能是原先创建了一个接口的实现类,后来在项目过程中移动了该接口实现类的位置,但是重新打包的时候,并没有进行clean一下,导致打出来的war里面的class存在了两个
解决方法:一般这种情况可以尝试:maven clean一下, project clean一下。 将项目原先jar包删除,重新打包。

2.2@Service的名称重复。

在项目中通过复制某个实现类的代码,忘记修改实现类中@Service注解中的方法名称,导致项目中存在两个一样的实现类注解名称,如下图所示。
解决方法:找到所有实现类,打开查看是否与实现类名称保持类似, 存在一样的实现类名称进行修改, 重新运行即可。

2.3引用其他项目的包与本地冲突

在项目pom中引用了其他项目代码导致命名冲突(本地代码修改了,但是线上没有修改)
解决方法:maven在扫描jar包里的方法时,优先扫描本地仓库里的 再然后是线上仓库的代码,这时只需要将引用的项目的代码做修改即可

3.Maven clean install 打包项目出现源码缺失

在打包项目时,使用clean install 打包发现最新的代码没有编译进去 尝试过手动删除target文件 重新clean install;或者重构项目;或者clean validate compile 重新编译项目都不行
解决办法:1.重启IDEA编辑器后 clean package

4.Maven install 和 package命令

intall:
1.将项目打包(jar/war),将打包结果放到项目下的 target 目录下
2. 同时将上述打包结果放到本地仓库的相应目录中,供其他项目或模块引用
package:
1.将项目打包(jar/war),将打包结果放到项目下的 target 目录下

参考

java启动时提示non-compatible bean definition of same name and class【XXX.XXX.XXX.XXX】解决方法

Maven命令 install 和 package的区别
给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顶子哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值