
引入sentinel导致的multiple slf4j bindings问题
在项目添加sentinel依赖后,可能会遇到multiple slf4j bindings报错。这是由于项目中可能存在多个slf4j实现导致。一般情况下, 添加如下依赖排除即可解决问题:
<dependency>
<groupid>com.alibaba.cloud</groupid>
<artifactid>spring-cloud-starter-alibaba-sentinel</artifactid>
<version>2.2.9.release</version>
<exclusions>
<exclusion>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-log4j12</artifactid>
</exclusion>
</exclusions>
</dependency>然而,有时添加exclusion也不一定能解决问题。这可能是因为项目中存在其他依赖引用了slf4j-log4j12.jar,导致在运行时仍然加载了该jar包。可以尝试以下解决方法:
- 检查依赖树:使用maven依赖树检查命令mvn dependency:tree,查看是否存在其他依赖引入了slf4j-log4j12.jar。
- 强制排除slf4j-log4j12:在pom.xml中添加如下依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>provided</scope>
</dependency>- 升级sentinel版本:升级sentinel版本到2.3.0以上,该版本已解决multiple slf4j bindings问题。

















