Dependency Issue: NoClassDefFoundError for ThreadLocalAccessor
Try to build a new application with version:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.8</version>
On a build, it throws the following exception:
Caused by: java.lang.NoClassDefFoundError: io/micrometer/context/ThreadLocalAccessor
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:496)
at java.base/java.lang.Class.forName(Class.java:475)
at org.springframework.test.context.observation.MicrometerObservationRegistryTestExecutionListener.<clinit>(MicrometerObservationRegistryTestExecutionListener.java:76)
... 65 common frames omitted
Caused by: java.lang.ClassNotFoundException: io.micrometer.context.ThreadLocalAccessor
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:521)
... 78 common frames omitted
Temporarily solution available: Add required micrometer depencies in classpath/maven pom xml or specify custom test execution listeners.
Build Environment Versions: Java/JDK Version: 20.0.1 Maven: apache-maven-3.9.2 spring-boot-starter-parent: 3.0.8
Comment From: wilkinsona
Duplicates https://github.com/spring-projects/spring-framework/issues/30726 and https://github.com/spring-projects/spring-framework/issues/30747. If an upgrade to Spring Framework 6.0.11-SNAPSHOT (available from https://repo.spring-io/snapshot) does not help, please open a Spring Framework issue.
Comment From: rajagopalanvivek
Thank you. Glad to hear that the defect is already fixed, and will be available in upcoming releases.