Skip to content

Upgrade Brave BOM to v6 & support Zipkin reporter v3 #39116

Closed as not planned
Closed as not planned
@mmoayyed

Description

@mmoayyed

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!

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