2015-04-22 78 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在其舊版本中生成的文件和目錄。