Scala actor的java.lang.NoSuchMethodError [英] java.lang.NoSuchMethodError with Scala actors

查看:354
本文介绍了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 "http://repo.typesafe.com/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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆