在我的应用程序中,我有2个类型为“ VaultTemplate”的Bean。
其中一个豆标记有@Primary
,第二个豆具有自定义名称,@Bean(name = "secondaryVault")
当我在本地编译并运行它时,一切正常。
但是当工件到达我的服务器时,作为CICD进程(jenkins)的一部分进行编译后,jar失败并显示以下消息:
The bean 'vaultTemplate', defined in class path resource [...class], could not be registered. **A bean with that name has already been defined** in class path resource [...class] and overriding is disabled.
**Consider renaming one of the beans** or enabling overriding by setting spring.main.allow-bean-definition-overriding=true.
当我把这个罐子带到我的本地机器上时,它失败并显示相同的消息。当我将本地构建的jar推送到远程服务器时,它成功。
所以詹金斯(Jenkins)建造的罐子很有趣,我找不到。 MVN版本相同。 (尝试使用352和322)。 JDK版本是相同的。 (Java8 1.6.1)。
春季启动版本为2.1.1。
我还反编译了注释豆子的类,并且在那里有name属性。
任何想法都会受到赞赏