@shinyaz

aws-advanced-jdbc-wrapper が slf4j-api 1.7 を引き込み HikariCP 6.x と競合する

約1分

aws-advanced-jdbc-wrapper 2.6.4 と HikariCP 6.2.1 を同じプロジェクトで使うと、以下のエラーが出る。

Output
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation

原因は aws-advanced-jdbc-wrapperslf4j-api:1.7.36 を推移的依存で持ち込み、slf4j-simple:2.0.16 と競合するためだ。target/lib/slf4j-api-1.7.36.jarslf4j-api-2.0.16.jar が共存してしまう。

exclusion で 1.7 を除外し、slf4j-api 2.0 を明示的に指定すれば解決する。

pom.xml
<dependency>
    <groupId>software.amazon.jdbc</groupId>
    <artifactId>aws-advanced-jdbc-wrapper</artifactId>
    <version>2.6.4</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.16</version>
</dependency>

mvn clean packagetarget/lib/ を再生成するのを忘れずに。mvn package だけだと古い jar が残る。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。