引入 sentinel 引发多重 slf4j 绑定
在引入 sentinel 后,可能会遇到以下启动错误:
slf4j: class path contains multiple slf4j bindings.
这表明项目中存在多个 slf4j 绑定。要解决此问题,通常需要排除不必要的绑定。
然而,即使在项目中加入以下排除配置后,错误仍然存在:
<exclusion> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> </exclusion>
疑难解答
仔细分析错误信息后,发现错误并非源自 slf4j,而是缺失 springboot 相关的包:
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.properties.source.ConfigurationPropertySources
结论
尽管错误信息表明存在多重 slf4j 绑定,但实际问题是缺失 springboot 的包。排除 slf4j 绑定并不能解决此问题。