gpt4 book ai didi

scala - sbt 排除 slf4j 不起作用

转载 作者:行者123 更新时间:2023-12-04 11:35:26 24 4
gpt4 key购买 nike

我的游戏项目中有第三方依赖项。该第三方库最终对 slf4j 实现具有依赖关系(不是直接依赖关系)。

我收到 slf4j 的重复绑定(bind)错误。

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:~/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/~/.ivy2/cache/com.orgname.platform/platform-logging-client/jars/platform-logging-client-2.5.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

我尝试了以下操作,但可以摆脱错误。
"com.orgname.platform" % "platform-metric-client" % "1.0.4" excludeAll(
ExclusionRule(organization = "org.slf4j"))

我也尝试了以下排除
"com.orgname.platform" % "platform-metric-client" % "1.0.4" exclude("org.slf4j","slf4j-jdk14)

还有这个
 "com.orgname.platform" % "platform-metric-client" % "1.0.4" exclude("org.slf4j","slf4j-log4j12)

由于我无法从第三方依赖项中删除 slf4j,我厌倦了通过修改 projcts/plugin.sbt 删除对 slf4j 的 Play 依赖项
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.6" exclude("org.slf4j", "slf4j-simple"))

我应该如何摆脱这个警告。此警告如何影响日志记录?哪个日志实现将用于 Scala 实现?

最佳答案

YourBestBet 的答案是正确的,但是您可以通过将导入序列与排除项映射来节省一些复制粘贴。

//dependencies with exclusions
libraryDependencies ++= Seq(
//depencies
).map(_.exclude("org.slf4j", "*"))

//insert one without exclusion
libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-classic" % "1.1.3"
)

编辑:

我建议投入一些时间并了解传递依赖和范围管理。它将为您节省 future 的时间。 Maven 有一个很棒且直接的文档页面:
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

PS。排除?假如?

关于scala - sbt 排除 slf4j 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com