如何在更新到jOOQ 3.15.0后修复“Consider defining a bean of type 'org.jooq.DSLContext' in your configuration.”错误。

12

在我的 Vaadin 和 Spring Boot 应用程序中,我已经从 jOOQ 3.14.12 升级到 3.15.0。升级后,我的应用程序无法再次启动。我收到的错误如下:

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in org.komunumo.data.service.MemberService required a bean of type 'org.jooq.DSLContext' that could not be found.


Action:

Consider defining a bean of type 'org.jooq.DSLContext' in your configuration.

我不理解为什么我需要定义这个bean,因为在jOOQ 3.14.12中我不需要这样做。据我所知,JooqAutoConfiguration会自动完成这个过程。

1个回答

31

Spring Boot 2.6答案

在Spring Boot 2.6中,此问题已不再出现,请参见https://github.com/spring-projects/spring-boot/issues/26439

Spring Boot 2.5答案

从jOOQ 3.15.0版本开始,jOOQ自带内置的R2DBC依赖项。但是Spring Boot 2.5目前还没有意识到这一点,因此,您需要显式排除R2dbcAutoConfiguration (而不是R2dbcDataAutoConfiguration!) 避免与spring boot应用程序发生冲突(当然,如果您正在使用jOOQ和R2DBC,则可以忽略此步骤):

@SpringBootApplication(exclude = { R2dbcAutoConfiguration.class })

请注意,您可能会看到以下错误消息:

No qualifying bean of type 'org.jooq.DSLContext' available: expected at least 1 bean which qualifies as autowire candidate.

我在此添加此内容,因为否则人们可能无法从谷歌上找到这个答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接