springdoc-openapi-ui 1.6.11依赖冲突求助:内部SLF4J版本冲突如何解决?
解决SpringDoc依赖中的SLF4J版本冲突问题
从你提供的依赖树来看,Maven已经自动将io.swagger.core.v3:swagger-core依赖的slf4j-api:1.7.35升级为1.7.36,和另一分支的版本保持一致,理论上冲突已被自动处理。如果仍出现日志相关异常或需要主动管控版本,可通过以下方式解决:
1. 全局锁定SLF4J版本
在项目的版本管理配置中指定统一的SLF4J版本,确保所有依赖都使用该版本:
Maven 配置
<dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> <!-- 可替换为你需要的稳定版本 --> </dependency> </dependencies> </dependencyManagement>
Gradle 配置
configurations.all { resolutionStrategy.force 'org.slf4j:slf4j-api:1.7.36' }
2. 排除SpringDoc传递的SLF4J依赖
直接在SpringDoc相关依赖中排除传递的SLF4J,让项目使用全局指定的版本:
Maven 配置
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.11</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency>
Gradle 配置
implementation('org.springdoc:springdoc-openapi-ui:1.6.11') { exclude group: 'org.slf4j', module: 'slf4j-api' }
验证解决效果
执行依赖分析命令确认版本统一:
- Maven:
mvn dependency:tree | grep slf4j-api - Gradle:
./gradlew dependencies | grep slf4j-api
内容的提问来源于stack exchange,提问作者Mykola Khazanovych
相关产品推荐
相关产品推荐

