Scala 喷雾相关性错误
我正在尝试运行Spray文档中的“最小示例”: 我使用的是scala 2.10.3,这是我在Dependencies.scala文件中描述的配置的一部分:Scala 喷雾相关性错误,scala,intellij-idea,akka,scala-2.10,spray,Scala,Intellij Idea,Akka,Scala 2.10,Spray,我正在尝试运行Spray文档中的“最小示例”: 我使用的是scala 2.10.3,这是我在Dependencies.scala文件中描述的配置的一部分: val sprayVersion = "1.2-RC2" val sprayCan = "io.spray" % "spray-can" % sprayVersion val sprayRouting = "io.spray" % "spray-routing" % spr
val sprayVersion = "1.2-RC2"
val sprayCan = "io.spray" % "spray-can" % sprayVersion
val sprayRouting = "io.spray" % "spray-routing" % sprayVersion
val sprayJson = "io.spray" %% "spray-json" % "1.2.5"
val akkaVersion = "2.2.3"
val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % akkaVersion
val akkaTestKit = "com.typesafe.akka" %% "akka-testkit" % akkaVersion
这是我的简单代码,如示例所示:
import spray.routing.SimpleRoutingApp
object Main extends App with SimpleRoutingApp {
startServer(interface = "localhost", port = 8080) {
path("hello") {
get {
complete {
<h1>Say hello to spray</h1>
}
}
}
}
}
我只是不知道我做错了什么
编辑:
我认为错误是由方法的返回startServer中使用的Http.Bound引起的:
IO(Http).ask(Http.Bind(serviceActor, interface, port, backlog, options, settings)).mapTo[Http.Bound]
特别是我认为它在Http.scala中导入akka.io.Tcp会给您带来问题。
在上一篇文章中,我读到akka 2.2.0将更多IO标记为“实验性”
我快疯了尝试添加actor类/对象的显式导入,并声明隐式actor system val。如下所示:
import spray.routing.SimpleRoutingApp
import akka.actor._
object Main extends App with SimpleRoutingApp {
implicit val system = ActorSystem("my-system")
startServer(interface = "localhost", port = 8080) {
path("hello") {
get {
complete {
<h1>Say hello to spray</h1>
}
}
}
}
}
谢谢xflin,通过您的回答,我发现了问题:隐式val!
import spray.routing.SimpleRoutingApp
import akka.actor._
object Main extends App with SimpleRoutingApp {
implicit val system = ActorSystem("my-system")
startServer(interface = "localhost", port = 8080) {
path("hello") {
get {
complete {
<h1>Say hello to spray</h1>
}
}
}
}
}
name := """spray-rest"""
version := "1.0"
scalaVersion := "2.10.3"
resolvers += "spray repo" at "http://repo.spray.io"
resolvers += "spray nightlies" at "http://nightlies.spray.io"
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % "2.2.3",
"com.typesafe.akka" %% "akka-slf4j" % "2.2.3",
"ch.qos.logback" % "logback-classic" % "1.0.13",
"io.spray" % "spray-can" % "1.2-RC2",
"io.spray" % "spray-routing" % "1.2-RC2",
"io.spray" %% "spray-json" % "1.2.3",
"org.specs2" %% "specs2" % "1.14" % "test",
"io.spray" % "spray-testkit" % "1.2-RC2" % "test",
"com.typesafe.akka" %% "akka-testkit" % "2.2.3" % "test",
"com.novocode" % "junit-interface" % "0.7" % "test->default"
)
scalacOptions ++= Seq(
"-unchecked",
"-deprecation",
"-Xlint",
"-Ywarn-dead-code",
"-language:_",
"-target:jvm-1.7",
"-encoding", "UTF-8"
)
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v")