2015-04-22 77 views
4

我遇到了一个ConflictingBeanDefiitionException,说org.company.app.core.controller.web.EquipmentController与org.company.app.core.controller.EquipmentController冲突。唯一的问题是没有org.company.app.core.controller.EquipmentController。它曾经在那里,我把它移动到包org.company.app.core.controller.web。重构后的ConflictingBeanDefinitionException Intellij

我不明白为什么会发生这种情况。这是一个奇怪的Intellij事情还是什么?

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'equipmentController' for bean class [org.company.app.core.controller.web.EquipmentController] conflicts with existing, non-compatible bean definition of same name and class [org.company.app.core.controller.EquipmentController] 
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.checkCandidate(ClassPathBeanDefinitionScanner.java:320) 
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:259) 
    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:140) 
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:262) 
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:226) 
    at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:480) 
    ... 59 more 
+3

这有时也发生在重构之后,不一定在IJ中,也在Eclipse中。你有没有尝试清理输出目录并重建项目,通常是'mvn clean package',或者你正在使用的任何东西? – Morfic

+1

这确实与一些额外的步骤一起工作,我正在使用Gradle和Intellij 14.我不得不删除out /和build /目录。然后我执行了gradle clean build war。之后,我必须删除.idea /和intellij项目文件并重新打开项目。奇怪的问题。 – greyfox

+0

是的,当它第一次发生时,我也很惊讶。然后我认为它可能通过不以某种方式删除旧的类定义而创建了一些垃圾,因此提出了清理建议。 – Morfic

回答

0
mvn clean package 

为我工作。它试图清理Maven在其旧版本中生成的文件和目录。