我正在开发一个简单的maven + spring应用程序,我收到以下错误。它说我的两个班级有冲突。所以我删除了第二堂课,但我仍然得到同样的错误。我尝试重新启动服务器,但它仍然说我的类存在。有人可以帮忙吗?
Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.nibm.config.RootConfig]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'employeeController' for bean class [com.nibm.hibernate.controller.EmployeeController] conflicts with existing, non-compatible bean definition of same name and class [com.nibm.controller.EmployeeController]
答案 0 :(得分:0)
答案 1 :(得分:0)
我遇到了同样的问题,这是因为具有相同名称的类存在于Exception本身中提到的两个位置,这是相互冲突的,并且在删除了一个问题后得到了解决。
答案 2 :(得分:0)
当我从Intellij内部使用@RunWith(SpringRunner.class)/ @SpringBootTest运行JUnit测试时,我遇到了同样的ConflictingBeanDefinitionException ...“与同名同类的现有不兼容bean定义冲突”。
通过gradle执行:构建相同的测试运行正常。
这是在我重构了几个@Components的包装之后开始发生的,这使我相信某些东西在其先前的包装名称下持有对该类的引用。
似乎没有大量的gradle构建/清除操作。
在IntelliJ中执行构建->重建项目为我解决了这个问题。