从2.0.6升级到春季启动2.1.2导致库错误

问题描述 投票:1回答:3

我试图从春天启动2.0.6升级工作的应用程序2.1.2。我有一些麻烦与测试此更改后,但最终还是围绕了。我可以成功地建立从NetBeans中(mvn clean install)中的应用。然而,当我尝试使用mvn spring-boot:run从命令行运行,这里是我得到:


应用程序未能启动


描述:

豆“xxxRepository”,在空定义,无法注册。具有该名称的豆已经在空定义和压倒一切被禁用。

行动:

考虑重命名豆中的一个,或通过设置spring.main.allow豆清晰度-压倒一切的实现首要=真

有趣的是,每次我尝试运行它,错误的是在不同的仓库,但总是以同样的消息。

这似乎是这与this change做:

豆重写

豆压倒一切已经默认禁用,以防止一个bean被意外覆盖。如果你是依靠覆盖,则需要spring.main.allow豆清晰,压倒一切的设置为true。

因为它显然是影响我的所有存储库,我的猜测是,有一个配置问题的地方。我可以按照建议的行动,但它实际上并没有区别。问题是,我不知道该怎么在配置更改为得到这个工作了。我甚至不能确定发布什么是恰当的问题。如何算出这个任何想法?

spring-boot
3个回答
5
投票

我们就遇到了这个问题升级从春天引导2.0.x升级到2.1.x.

通过允许bean定义覆盖与spring.main.allow-bean-definition-overriding: true我可以“解决”这个问题,但感觉就像隐藏的根本原因。 事实上使用bean定义压倒一切隐藏在我们身边的配置差。

不带过滤器@Configuration一次,连用:检查我们的@ComponentScan类之后,我们进行了扫描包含我们的仓库包两次,使用@EnableJpaRepository@ComponentScan.Filter从不同类别相同的程序包。

卸下固定问题的第二部分扫描。


1
投票

我看到这个错误之前,我有一个类BOTH在配置类@Component或@Repository或@Service注释,并注册为@Bean。那是你的情况下,也通过任何机会呢?


0
投票

我有一个类似的问题,但它仅与@NotNull注解了。当我升级的春天,它停止工作。我尝试了很多的东西,我发现这里的SO,但只有工作给我的事情是消除数据库并再次运行春天。我知道这很烂,但没有找到另一种解决方案。

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.