Environment

Spring Boot 3.2.1 Java 21

Request

This is an enhancement request to allow Spring Boot to support brave-bom 6.x, and in turn have it support the zipkin-reporter-brave 3.x. Boot seems to be at:

     library("Brave", "5.17.0") {
        group("io.zipkin.brave") {
            imports = [
                "brave-bom"
            ]
        }
    }

Presently, using 3.x causes the following:

Caused by: java.lang.NoClassDefFoundError: zipkin2/codec/BytesEncoder
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3578)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2676)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465)
    ... 37 more
Caused by: java.lang.ClassNotFoundException: zipkin2.codec.BytesEncoder
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
    at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:104)
    at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
    ... 41 more

The main culprit is here.

The template here did suggest that, "BUT pull requests for upgrades that are more involved than just a version property change are still most welcome." and I think this does qualify given compatibility issues and it being a non-trivial dependency upgrade. I suspect this change, if accepted, would be more appropriate for Spring Boot 3.3.x.

If you'd like to see a pull request, please let me know.

Thank you!

Comment From: wilkinsona

Duplicates #39049.