org.springframework.context.annotation.ConflictingBeanDefinitionException 已解决

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException

问题描述

今天写Spring Boot项目的时候,突发奇想想要改一个包的名字。按理来说应该没问题,也成功打成了war包,但重新放到Tomcat下面跑却报了下面的错误。

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name ‘graphController’ for bean class [com.gooood.GooooCoin.controller.GraphController] conflicts with existing, non-compatible bean definition of same name and class [com.gooood.GooooCoin.KGController.GraphController]

查了查资料发现是因为在两个不同的Package中定义了同样名字的Bean

但感觉很奇怪,明明仅仅只是把原来的controller改成了KGController,为什么原来的controller还阴魂不散呢?

解决方案

因为我之前就在Tomcat部署过这个项目.点开Tomcat的webapps\你的项目路径\WEB-INF\classes,就可以看到生成的.class文件,然后发现竟然还有controller这个文件夹,而点进去一看里面的graphController.class的时间是上次部署的时间。

我通过下面的步骤解决了问题

  • 关闭Tomcat
  • 删除webapps\你的项目路径\WEB-INF\classes下的controller文件夹(就是变更了名字的那个文件夹),清空回收站(不确定是否必要)
  • 删除项目target\classes\com\gooood.GooooCoin目录下controller文件夹
  • 使用mvn package重新打包成war包,然后移动到tomcat的webapps下
  • 启动Tomcat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值