Skip to content

[Bug]: NoClassDefFound IOUtils #11425

@membersound

Description

@membersound

Module

Core

Testcontainers version

testcontainers 2.0.3 / mariadb 1.21.3

Using the latest Testcontainers version?

Yes

Host OS

Linux

Host Arch

ARM

Docker version

Docker version 27.3.1, build ce12230

What happened?

After switching from mariadb 1.21.3 to 2.0.3, the following exception occurs due to "shaded IOUtils" when using SQL Script Imports in tests.

The following worked before migration to the new splittet version numbers:

try (Connection con = org.springframework.jdbc.datasource.DataSourceUtils.getConnection(ds)) {
    org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(con, res);
}

Before:

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>mariadb</artifactId>
                <version>1.21.3</version>
            </dependency>

Now:

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>mariadb</artifactId>
                <version>2.0.3</version>
            </dependency>

application.properties:
jdbc:tc:mariadb:11:///databasename

Relevant log output

Caused by: java.lang.NoClassDefFoundError: org/testcontainers/shaded/org/apache/commons/io/IOUtils
	at org.testcontainers.jdbc.ContainerDatabaseDriver.runInitScriptIfRequired(ContainerDatabaseDriver.java:224)
	at org.testcontainers.jdbc.ContainerDatabaseDriver.connect(ContainerDatabaseDriver.java:148)
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:144)
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:370)
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:207)
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:488)
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:576)
	... 11 more
Caused by: java.lang.ClassNotFoundException: org.testcontainers.shaded.org.apache.commons.io.IOUtils
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
	... 18 more

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions