在 Play Framework 中导入 Jar 给了我 java.lang.ClassCastException

Importing Jar in Play Framework gives me java.lang.ClassCastException

我在 java 中创建了一个库,我正尝试在我的 Java Play Framework 应用程序中使用它和 Intellij。

文档告诉我,我只需要将它添加到项目中的 lib 文件夹中。

然而,当我在终端上键入 activator 运行 时,出现以下错误(该库在 Intellij 中可见,我可以在我的新代码中使用它):

java.lang.ClassCastException: org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
at play.api.libs.logback.LogbackLoggerConfigurator.configure(LogbackLoggerConfigurator.scala:80)
at play.api.libs.logback.LogbackLoggerConfigurator.init(LogbackLoggerConfigurator.scala:26)
at play.core.server.DevServerStart$$anonfun$mainDev.apply(DevServerStart.scala:94)
at play.core.server.DevServerStart$$anonfun$mainDev.apply(DevServerStart.scala:65)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.core.server.DevServerStart$.mainDev(DevServerStart.scala:64)
at play.core.server.DevServerStart$.mainDevHttpMode(DevServerStart.scala:54)
at play.core.server.DevServerStart.mainDevHttpMode(DevServerStart.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at play.runsupport.Reloader$.startDevMode(Reloader.scala:234)
at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.devModeServer$lzycompute(PlayRun.scala:74)
at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.play$sbt$run$PlayRun$$anonfun$$anonfun$$anonfun$$devModeServer(PlayRun.scala:74)
at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.apply(PlayRun.scala:100)
at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.apply(PlayRun.scala:53)
at scala.Function1$$anonfun$compose.apply(Function1.scala:47)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.lang.reflect.InvocationTargetException
[error] Total time: 0 s, completed 13/out/2016 23:37:26

如果您的 jar 是非托管 jar,这意味着它不是任何 sbt 存储库的一部分,那么您需要在 build.sbt.

中添加以下行

unmanagedJars in Compile += file("lib/your_jar.jar")