Spring Boot 3.4.1项目如何强制使用Logback 1.5.13版本?
强制升级Spring Boot项目中的Logback到1.5.13版本
你的问题核心是仅指定了logback-core的版本,但logback-classic仍由spring-boot-starter-logging管控在1.5.12,需要同时统一Logback核心组件的版本,以下是三种可行方案:
方案一:通过dependencyManagement统一管控所有Logback组件版本
在dependencyManagement中同时声明logback-core和logback-classic的版本,Maven会自动让所有依赖这两个组件的模块使用指定版本:
<dependencyManagement> <dependencies> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.5.13</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.5.13</version> </dependency> </dependencies> </dependencyManagement>
方案二:排除默认依赖后手动引入指定版本
先从spring-boot-starter-web关联的spring-boot-starter-logging中排除所有Logback组件,再手动添加1.5.13版本的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> <!-- 排除默认的Logback依赖 --> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> </exclusions> </dependency> <!-- 手动引入指定版本的Logback --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.5.13</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.5.13</version> </dependency>
方案三:利用Spring Boot内置属性直接覆盖(最简洁)
Spring Boot提供了专门的版本属性来统一管控Logback版本,只需在pom.xml的properties节点中添加配置:
<properties> <logback.version>1.5.13</logback.version> </properties>
这种方式会自动同步logback-core和logback-classic的版本,无需手动排除或声明多个依赖,是最推荐的实现方式。
验证方式
执行Maven命令查看依赖树,确认两个组件版本是否统一:
mvn dependency:tree
内容的提问来源于stack exchange,提问作者mikeb
相关产品推荐
相关产品推荐

