2017-03-09 72 views
0

我已經給了一個Java Spring應用程序來進行容器化。我正在使用Tomcat8/Java8基本映像。當它啓動時,它無法與以下錯誤部署:Spring應用程序中的區分大小寫問題

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'controller3P' for bean class [com.******.******.brand3P.controller.Controller3P] conflicts with existing, non-compatible bean definition of same name and class [com.******.******.Brand3P.controller.Controller3P] 

這裏的問題似乎是春天發現2個衝突的班,由「brand3P」和「Brand3P」分化。

但是,在源代碼中,我找不到一個類「Brand3P」,只有一個類「brand3P」。

任何人都可以解釋一下Spring在這裏做什麼?

(做個好青年,我是行動,而不是開發)

回答

1
  1. 包名稱必須要全部下套管,結賬這裏oracle doc

  2. 包名不包含在春季定義名稱。

  3. 我的猜測是有人在Git中更改了包名,因爲git默認情況下不區分大小寫,所以你會遇到這種情況,如果是這種情況,刪除文件並重新創建它將解決這個問題。

  4. 嗨行動,請與離散事件共同努力;)
+0

謝謝。這是非常多的,但我發佈了一個單獨的答案,以防萬一。 –

0

原來這是與詹金斯構建的問題。代碼已經改變(品牌3P - >品牌3P),但舊的類名掛在詹金斯工作區,並被捆綁到Docker鏡像中。

我們刪除了工作區,重新運行了構建,並且都很好。