引入dashscope-sdk-java会遇到如下问题
原因:同时依赖了 Logback 和 SLF4J Simple 两个日志实现
问题日志
SLF4J(W): Class path contains multiple SLF4J providers.
SLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@1f021e6c]
SLF4J(W): Found provider [org.slf4j.simple.SimpleServiceProvider@103f852]
SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J(I): Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@1f021e6c]
警告信息:
SLF4J(W): Class path contains multiple SLF4J providers.:表示类路径中存在多个 SLF4J 提供者。
SLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@1f021e6c]:找到了 Logback 作为 SLF4J 提供者。
SLF4J(W): Found provider [org.slf4j.simple.SimpleServiceProvider@103f852]:找到了 SLF4J Simple 作为 SLF4J 提供者。
SLF4J(I): Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@1f021e6c]:最终选择了 Logback 作为实际的日志提供者。
解决方案
排除slf4j-simple
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<version>2.19.1</version>
</dependency>
分析依赖
在当前工程目录下执行如下命令
./mvnw dependency:tree