Skip to content

[Bug]: ScriptUtils.runInitScript from database-commons 1.21.3 produces NoClassDefFoundError when upgrading testcontainers to 2.0.1 #11135

@westernsam

Description

@westernsam

Module

Core

Testcontainers version

2.0.1

Using the latest Testcontainers version?

Yes

Host OS

linux

Host Arch

x86

Docker version

docker version
Client: Docker Engine - Community
 Version:           28.5.1
 API version:       1.51
 Go version:        go1.24.8
 Git commit:        e180ab8
 Built:             Wed Oct  8 12:17:26 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          28.5.1
  API version:      1.51 (minimum version 1.24)
  Go version:       go1.24.8
  Git commit:       f8215cc
  Built:            Wed Oct  8 12:17:26 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.7.28
  GitCommit:        b98a3aace656320842a23f4a392a33f46af97866
 runc:
  Version:          1.3.0
  GitCommit:        v1.3.0-0-g4ca628d1
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

What happened?

There is an issue using ScriptUtils.runInitScript from database-commons version 1.21.3 (the latest available version) after upgrading testcontainers to 2.0.1. It seems that apache commons has been removed from shaded in the latest version.

version.org.testcontainers..testcontainers=2.0.1

version.org.testcontainers..jdbc=1.21.3

Relevant log output

java.lang.NoClassDefFoundError: org/testcontainers/shaded/org/apache/commons/io/IOUtils
	at org.testcontainers.ext.ScriptUtils.runInitScript(ScriptUtils.java:212)
	at PublicTimescaleResources.increaseEnergyDuringEvent(PublicTimescaleResources.kt:26)
	at endToEnd.BillingTest.can filter out negative event from bill(BillingTest.kt:854)
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)
	... 3 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