3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JOOQ3.15に上げるとSpring Bootが起動しない

Last updated at Posted at 2021-08-28

2021/8/28現在、Spring BootとJOOQ 3.15を組み合わせるとDSLContextのインジェクションに失敗するようになりました。

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-08-28 08:51:20.130 ERROR 10463 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

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

Description:

Parameter 0 of constructor in com.example.securingweb.UsersController 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.

Disconnected from the target VM, address: '127.0.0.1:58570', transport: 'socket'

Process finished with exit code 1

spring-boot-starter-jooqを単独で使う分には3.14系が使用されますが、自分はnu.studer.jooq gradleプラグインも使用しており、そちらが依存しているため3.15が入っていました。

なぜエラーになるのか?

JOOQ 3.15からR2JDBCをサポートするようになり、io.r2dbc:r2dbc-spi:0.8.5.RELEASEが依存関係に追加されR2dbcAutoConfigurationが意図せず発動してしまうためです。

対処法

(R2JDBCを使用しないならばですが)R2dbcAutoConfiguration.classをexcludeすれば動かすことが可能です。

@SpringBootApplication(exclude = { R2dbcAutoConfiguration.class })
public class MyApplication {
    public static void main(String[] args) throws Throwable {
        SpringApplication.run(SecuringWebApplication.class, args);
    }
}

ただ、上記のIssueでやりとりされていますが、JOOQ 3.15の無償版はJava11以上が必要なため、Java8をサポートしているSpring Boot2.5系で3.15がサポートされることはないのかもしれません。
商用ではおとなしく3.14系を使っておいた方が無難でしょうか。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?