Spring Boot 2.7.7集成OpenTelemetry扩展构建失败求助
解决Shadow插件与OpenTelemetry Muzzle插件的依赖冲突问题
问题根源
Shadow插件已从原作者仓库迁移至com.gradleup组织,旧groupId com.github.johnrengelman与新groupId com.gradleup的Shadow插件提供了相同的Gradle能力(capability)。你的项目中,OpenTelemetry的Muzzle插件依赖新groupId的Shadow 8.3.5,而你显式引入了旧groupId的Shadow 8.3.5,导致Gradle无法判定优先级,触发依赖冲突。
解决方案
方案1:替换为官方最新Shadow插件ID(推荐)
将配置中旧的Shadow插件ID替换为新的官方ID:
plugins { // 替换旧插件ID为新的官方ID id "com.gradleup.shadow" version "8.3.5" id "io.opentelemetry.instrumentation.muzzle-generation" version "2.10.0-alpha-SNAPSHOT" id "io.opentelemetry.instrumentation.muzzle-check" version "2.10.0-alpha-SNAPSHOT" }
方案2:强制统一Shadow版本(备选)
若暂时不想更换插件ID,可在build.gradle中添加版本强制策略,让Gradle统一使用指定版本:
configurations.all { resolutionStrategy { force "com.gradleup.shadow:shadow-gradle-plugin:8.3.5" force "com.github.johnrengelman:shadow:8.3.5" } }
验证
修改完成后重新执行构建命令(如./gradlew build),依赖冲突即可解决。
内容的提问来源于stack exchange,提问作者Nikita Pawaskar
相关产品推荐
相关产品推荐

