scala play 不断抛出 InvocationTargetException

scala play keeps throwing InvocationTargetException

我正在尝试使用 activator 和 scala play 开发简单的网络应用程序。它工作得很好,但是当我试图将一些外部 JAR 添加到 lib/ 目录时,抛出了以下异常。尽管我没有从中导入任何东西。

有线索吗?我尝试 sbt clean 并删除 target/ 并重新启动激活器,但没有任何帮助。

Setting up Play fork run ... (use Ctrl+D to cancel)
Play fork run has failed due to:
java.lang.reflect.InvocationTargetException
    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:497)
    at play.runsupport.Reloader$.startDevMode(Reloader.scala:197)
    at play.forkrun.ForkRun$.startServer(ForkRun.scala:82)
    at play.forkrun.ForkRun.run(ForkRun.scala:173)
    at play.forkrun.ForkRun$$anonfun$settingUp.applyOrElse(ForkRun.scala:162)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
    at play.forkrun.ForkRun.aroundReceive(ForkRun.scala:148)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)
    at akka.dispatch.Mailbox.run(Mailbox.scala:221)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:231)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
    at play.core.ReloadableApplication.<init>(ApplicationProvider.scala:100)
    at play.core.server.NettyServer$$anonfun$mainDev.apply(NettyServer.scala:319)
    at play.core.server.NettyServer$$anonfun$mainDev.apply(NettyServer.scala:318)
    at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
    at play.core.server.NettyServer$.mainDev(NettyServer.scala:317)
    at play.core.server.NettyServer$.mainDevHttpMode(NettyServer.scala:313)
    at play.core.server.NettyServer.mainDevHttpMode(NettyServer.scala)
    ... 20 more

您似乎添加到 lib/ 中:

  • scala-library
  • 的另一个二进制不兼容版本
  • 或为不兼容版本的 Scala 构建的 jar,例如,您的项目配置为 Scala 2.11.6,并且您添加了为 Scala 2.10 构建的 jar

我建议您使用托管依赖项而不是使用 lib/,请参阅: