在游戏框架中捕获了Netty的异常

时间:2017-03-09 09:04:18

标签: scala web-applications playframework

我在SCALA中创建了一个新的游戏框架应用程序。如果我运行应用程序它按预期运行,我能够打开URL localhost:9000,但在我创建一个lib文件夹并添加一些罐子(火花罐),当我尝试使用命令运行运行应用程序运行,它显示消息

[error] p.nettyException - Exception caught in Netty
java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
        at akka.actor.ActorCell$.<init>(ActorCell.scala:305) ~[akka-actor_2.10.jar:2.2.0]
        at akka.actor.ActorCell$.<clinit>(ActorCell.scala) ~[akka-actor_2.10.jar:2.2.0]
        at akka.actor.RootActorPath.$div(ActorPath.scala:152) ~[akka-actor_2.10.jar:2.2.0]
        at akka.actor.LocalActorRefProvider.<init>(ActorRefProvider.scala:465) ~[akka-actor_2.10.jar:2.2.0]
        at akka.actor.LocalActorRefProvider.<init>(ActorRefProvider.scala:453) ~[akka-actor_2.10.jar:2.2.0]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_91]
[error] p.nettyException - Exception caught in Netty
java.lang.NoClassDefFoundError: Could not initialize class play.api.libs.concurrent.Execution$

当我尝试打开URL localhost:9000时,它显示“localhost页面无法正常工作”。

Spark版本2.0 Scala版本2.10,我也测试过scala 2.11和2.12同样的错误再现。

播放框架版本 - 2.2.6

1 个答案:

答案 0 :(得分:1)

首先,如果你创建了一个新游戏!项目,为什么要使用2.2版?最新版本为2.5,可能已经解决了您的问题。

其次,为了确保您没有任何其他版本冲突,我建议您使用托管依赖项,而不是手动将它们放入lib文件夹。

对于Apache Spark,您可以将此行添加到build.sbt文件中:

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"

如Spark的Quick Start Guide中所述。您需要在项目中使用Scala 2.10或2.11(建议)。

如果这不能解决您的问题,请发布您的build.sbt和控制器代码的内容。感谢。