我想使用spala 2.11.x akka 2.3.x的spray.io,我在spray.io的Project Info页面中找到以下内容:
spray 1.3.1 is built against Scala 2.10.3 and Akka 2.3.0 as well as Scala 2.11.1 and Akka 2.3.2.
当我使用spray-client时,我遇到了一些问题然后我在spray.io的Documentation页面中找到了以下内容:spray-client依赖于akka 2.10.x:
akka-actor 2.2.x (with ‘provided’ scope,i.e. you need to pull it in yourself)
提供的范围意味着什么?如何将它与scala 2.11.x akka 2.3.x中编写的程序的其他部分一起使用?
编辑
以下是documentation page中列出的最简单的用例:
import akka.actor.ActorSystem import scala.concurrent.Future object main { def main(args: Array[String]) { import spray.http._ import spray.client.pipelining._ implicit val system = ActorSystem() import system.dispatcher // execution context for futures val pipeline: HttpRequest => Future[HttpResponse] = sendReceive val response: Future[HttpResponse] = pipeline(Get("http://spray.io/")) } }
使用build.sbt:
scalaVersion := "2.11.1" libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.2" libraryDependencies += "io.spray" % "spray-client" % "1.3.1"
虽然编译得很好,但它符合运行时错误:
Uncaught error from thread [default-akka.actor.default-dispatcher-2] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[default] java.lang.NoClassDefFoundError: scala/runtime/AbstractPartialFunction$mcVL$sp at ...