2017-03-09 114 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镜像中。

我们删除了工作区,重新运行了构建,并且都很好。