java - 为什么在 IDEA 中创建的默认 Play 应用程序在启动时崩溃,并将 Akka 2.3.3 声明为依赖项?

标签 java playframework sbt akka playframework-2.2

我使用 IntelliJ IDEA 创建了一个新的 Play Framework 2 应用程序。我在默认项目中唯一更改的是创建 Java Controller Application 而不是默认的 Scala Controller (名称相同)并将 Akka 添加到项目中。

这是我的 build.sbt 构建的样子:

import play.Project._

name := "ServerSide"

version := "1.0"

// the following line was added
libraryDependencies += "com.typesafe.akka" % "akka-actor_2.10" % "2.3.3"

playScalaSettings

该项目编译得很好,但是当我启动它时,它会出现明显的 Akka 特定错误(实际上它在日志中重复了大约 5 次):

[ERROR] [07/23/2014 15:27:57.462] [play-akka.actor.default-dispatcher-2] [ActorSystem(play)] Uncaught error from thread [play-akka.actor.default-dispatcher-2] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.AbstractMethodError
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
    at akka.dispatch.Mailbox.run(Mailbox.scala:220)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

build.sbt 中删除 Akka 可以解决该问题。

错误的原因是什么以及如何修复它?

最佳答案

我得出的答案是:

我从 activator 创建的项目中复制了 build.sbt,但 Intellij Idea 创建的项目很可能使用了该框架的早期版本,因此不兼容与 Akka 。将 Akka 版本更改为 2.2.4 解决了我的问题。

关于java - 为什么在 IDEA 中创建的默认 Play 应用程序在启动时崩溃,并将 Akka 2.3.3 声明为依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24909459/

相关文章:

scala - 使用 SBT 0.12.x 交互式 shell 运行应用程序时,将提供的依赖项添加到类路径

java.lang.StringIndexOutOfBoundsException : Exception 异常

java - 提交表单时 Play Framework POST 路由不运行

java - Play Framework - 值登录不是 controllers.Application 的成员

java - 如何将 jar 文件包含到 Scala 代码中

scala - SBT:排除资源子目录

java - 在 windows 中创建的 tar.gz 无法在 linux 下正确解压 - ArchiverFactory/org.rauschig.jarchivelib.Archiver

java - Maven-如何找到负责我当前项目正在使用的 jar 文件的组 ID?

java - 从类型为 "Class<?>"的对象启动 main 方法

java - Play Framework 2.4 - 依赖注入(inject)来替换 GlobalSettings.onStart()