Skip to content

Spring boot starter 2.13.0+ causes dependency resolution failure with Java 11 #13384

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
KimDoubleB opened this issue Feb 24, 2025 · 1 comment · Fixed by #13393
Closed

Spring boot starter 2.13.0+ causes dependency resolution failure with Java 11 #13384

KimDoubleB opened this issue Feb 24, 2025 · 1 comment · Fixed by #13393
Labels
bug Something isn't working needs triage New issue that requires triage

Comments

@KimDoubleB
Copy link
Contributor

Describe the bug

When upgrading the opentelemetry-spring-boot-starter dependency to version 2.13.0 or later in a Spring Boot 2.7.x project running on Java 11, the build fails with a dependency resolution error. This issue does not occur in versions prior to 2.13.0 (e.g., 2.12.0).

This issue appears to have been introduced due to the addition of opentelemetry-runtime-telemetry-java17 dependency in spring-boot-autoconfigure.

implementation(project(":instrumentation:runtime-telemetry:runtime-telemetry-java8:library"))
implementation(project(":instrumentation:runtime-telemetry:runtime-telemetry-java17:library"))

Since there was no mention in the release notes about not supporting Java versions below 17, I’ve filed this issue to highlight the unexpected behavior.

Steps to reproduce

Ref: https://github.com/KimDoubleB/spring-learning/tree/issue/java11/opentelemetry/issue-demo

  • Use java 11, spring boot 2.7.18, opentelemetry-spring-boot-starter 2.13.0
  • ./gradlew clean dependencies --configuration runtimeClasspath or ./gradlew build

Expected behavior

The build should complete successfully, resolving all dependencies compatible with Java 11.

Actual behavior

The build fails with the following error:

Execution failed for task ':bootJarMainClassName'.
> Could not resolve all files for configuration ':runtimeClasspath'.
   > Could not resolve io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.13.1-alpha.
     Required by:
         root project : > io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter:2.13.1 > io.opentelemetry.instrumentation:opentelemetry-spring-boot-autoconfigure:2.13.1
      > Dependency resolution is looking for a library compatible with JVM runtime version 11, but 'io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.13.1-alpha' is only compatible with JVM runtime version 17 or newer.

This indicates that the transitive dependency opentelemetry-runtime-telemetry-java17 is specific to Java 17 and incompatible with Java 11.

Javaagent or library instrumentation version

library 2.13.0+

Environment

  • Spring Boot Version: 2.7.18
  • Java Version: 11
  • OpenTelemetry Spring Boot Starter Version: 2.13.0+
  • Build Tool: Gradle

Additional context

If this is intended behavior, it would be beneficial to add this information to the release notes or documentation to clarify the Java 17 requirement.

@KimDoubleB KimDoubleB added bug Something isn't working needs triage New issue that requires triage labels Feb 24, 2025
@KimDoubleB KimDoubleB changed the title OpenTelemetry Spring Boot Starter 2.13.0+ Causes Dependency Resolution Failure with Java 11 Spring boot starter 2.13.0+ causes dependency resolution failure with Java 11 Feb 24, 2025
@trask
Copy link
Member

trask commented Feb 24, 2025

cc @jeanbisutti @zeitlinger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs triage New issue that requires triage
Projects
None yet
2 participants