本文介绍了Scala actor的java.lang.NoSuchMethodError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的Scala应用程序(从此处获取),我想测试一下。 整个项目已使用SBT成功编译。但是,当我使用 sbt测试启动测试时,收到以下错误消息:
I have a simple Scala application (taken from here) which I want to test. The whole project is compiled successfully with SBT. However, when I launch the tests with sbt test I get the following error message:
Could not run test ConnectionTest:java.lang.NoSuchMethodError: akka.actor.Props$.apply(Lscala/Function0;)Lakka/actor/Props;从互联网搜索中,我得到的印象是我的某些版本不兼容,但这仅仅是一个推测。 可能出什么问题了?
From the internet search, I get the impression that some of my versioning is not compatible but that is merely a guess. What may be wrong?
[测试用例]
import akka.actor.{Props, Actor, ActorSystem, ActorRef} import akka.testkit.{TestKit, TestActorRef, ImplicitSender} import org.scalatest.{WordSpecLike, BeforeAndAfterAll} import org.scalatest.matchers.MustMatchers class ConnectionTest extends TestKit(ActorSystem("ConnectionSpec")) with WordSpecLike with MustMatchers with BeforeAndAfterAll { override def afterAll() { system.shutdown() } "Server" must { "bind to port " in { // create server val server = system.actorOf(Props[Server], name = "server") expectMsg("Bound to /127.0.0.1:8888") } } }[ build.sbt]
name := "MyApp" version := "0.2" scalaVersion := "2.10.4" mainClass := Some("akka.Main") resolvers += "Typesafe Repository" at "repo.typesafe/typesafe/releases/" libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.2" libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.1.4" % "test" libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.0" % "test"推荐答案
您需要使用相同版本的Akka进行测试。 / p>
You need to use the same version of Akka for testkit.
libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.1.4" % "test"应该是
libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.3.2" % "test"更多推荐
Scala actor的java.lang.NoSuchMethodError
发布评论