更新到 jOOQ 3.15.0 后如何修复 "Consider defining a bean of type 'org.jooq.DSLContext' in your configuration."
How to fix "Consider defining a bean of type 'org.jooq.DSLContext' in your configuration." after update to jOOQ 3.15.0
在我的 Vaadin 和 Spring 引导应用程序中,我已经从 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
自动完成的。
Spring开机2.6回答
使用 Spring Boot 2.6,此问题不再重现,请参阅 https://github.com/spring-projects/spring-boot/issues/26439
Spring开机2.5回答
从 jOOQ 3.15.0 开始,jOOQ 附带了一个内置的 R2DBC 依赖项。 Spring Boot 2.5 还不知道这一点,因此,您必须明确排除 R2dbcAutoConfiguration
(not R2dbcDataAutoConfiguration
!)您的 spring 引导应用程序(当然,除非您将 R2DBC 与 jOOQ 一起使用):
@SpringBootApplication(exclude = { R2dbcAutoConfiguration.class })
请注意,您可能会看到以下错误消息:
No qualifying bean of type 'org.jooq.DSLContext' available: expected at least 1 bean which qualifies as autowire candidate.
我在这里添加,因为否则,人们可能无法从 Google 中找到这个答案。
在我的 Vaadin 和 Spring 引导应用程序中,我已经从 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
自动完成的。
Spring开机2.6回答
使用 Spring Boot 2.6,此问题不再重现,请参阅 https://github.com/spring-projects/spring-boot/issues/26439
Spring开机2.5回答
从 jOOQ 3.15.0 开始,jOOQ 附带了一个内置的 R2DBC 依赖项。 Spring Boot 2.5 还不知道这一点,因此,您必须明确排除 R2dbcAutoConfiguration
(not R2dbcDataAutoConfiguration
!)您的 spring 引导应用程序(当然,除非您将 R2DBC 与 jOOQ 一起使用):
@SpringBootApplication(exclude = { R2dbcAutoConfiguration.class })
请注意,您可能会看到以下错误消息:
No qualifying bean of type 'org.jooq.DSLContext' available: expected at least 1 bean which qualifies as autowire candidate.
我在这里添加,因为否则,人们可能无法从 Google 中找到这个答案。