java.lang.ClassNotFoundException: org.slf4j.LoggerFactory in Intellij, scala project with playframework

java.lang.ClassNotFoundException: org.slf4j.LoggerFactory in Intellij, scala project with playframework

我已经通过公开的 dbt-model 生成了导入到 intellij 的 scala 项目。在控制台测试中 运行 很好,但在 intellij java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 中,更无聊:

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at play.api.Logger$.<init>(Logger.scala:182)
at play.api.Logger$.<clinit>(Logger.scala)
at play.api.Application$class.$init$(Application.scala:272)
at play.api.test.FakeApplication.<init>(Fakes.scala:221)
at play.api.test.WithApplication$.$lessinit$greater$default(Specs.scala:20)
at UserTest$$anonfun$$anonfun$apply$$anon.<init>(UserTest.scala:10)
at UserTest$$anonfun$$anonfun$apply.apply(UserTest.scala:10)
at UserTest$$anonfun$$anonfun$apply.apply(UserTest.scala:10)Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

sj4j 由 sbt 附加到 intellij。诀窍在哪里?

您可能只包含对 SLF4J 的依赖性 API,但您还必须包含一个执行实际日志记录工作的实现。

libraryDependencies += "org.slf4j" % "slf4j-log4j12" % "1.7.10"

我推荐你使用 logback-classic:

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.2"

版本可能不正确