我有 build.sbt 文件:
name := """test"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.12.6"
val loggingDependencies = Seq(
"com.typesafe.scala-logging" %% "scala-logging" % "3.+",
"ch.qos.logback" % "logback-classic" % "1.2.3",
"ch.qos.logback" % "logback-core" % "1.+"
)
libraryDependencies ++= Seq(
...
"org.slf4j" % "slf4j-api" % "1.8.0-beta1",
"org.slf4j" % "slf4j-simple" % "1.8.0-beta1",
)
添加这种依赖性之后
lazy val root = (project in file(".")).enablePlugins(PlayScala)
我遇到错误
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
所有建议根本没有帮助!它出什么问题了!
答案 0 :(得分:1)
这些版本不兼容,请参见https://www.slf4j.org/faq.html#changesInVersion18和https://logback.qos.ch/news.html。如果要使用Logback 1.2.3,则需要SLF4J 1.7.x;如果要使用不稳定的SLF4J 1.8,则需要(也是不稳定的)Logback 1.3.x。
"ch.qos.logback" % "logback-classic" % "1.2.3",
"ch.qos.logback" % "logback-core" % "1.+"
logback-classic
和logback-core
具有不同的版本对我来说也没有意义。
最后的问题是slf4j-simple
和logback
都具有依赖性。
编辑:播放uses Logback on its own if not disabled explicitly,因此它已经具有一些Logback和SLF4J版本相关性,并且您使用不兼容的版本覆盖了SLF4J(并添加了slf4j-simple
,该版本不能与重新登录)。如果要覆盖Play的功能,请删除依赖项或遵循链接的文档。