【发布时间】:2013-05-19 02:44:16
【问题描述】:
我正在尝试使用 Spray Servlet 创建 REST 服务,但无法编译。 您可以在下面找到我的 build.sbt:
name := "someservice"
version := "0.0.1"
scalaVersion := "2.10.0"
resolvers += "spray repo" at "http://repo.spray.io"
libraryDependencies += "io.spray" % "spray-servlet" % "1.0-M3"
libraryDependencies ++= Seq(
"io.spray" % "spray-servlet" % "1.0-M3",
"io.spray" % "spray-util" % "1.0-M3",
"io.spray" % "spray-http" % "1.1-M7",
"com.typesafe.akka" %% "akka-actor" % "2.1.0",
"org.specs2" %% "specs2" % "1.13" % "test",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" artifacts Artifact("javax.servlet", "jar", "jar")
)
我得到 com 'sbt update compile' 的错误是:
[错误] 错误的符号引用。 package.class 中的签名是指术语 Either [错误] 在包 scala 中不可用。 [错误] 它可能在当前类路径中完全丢失,或者版本在 [错误] 类路径可能与编译时使用的版本不兼容 [错误] package.class。 [错误] 错误的符号引用。 package.class 中的签名指的是 Future 类型 [错误] 包 akka.dispatch 不可用。 [错误] 它可能在当前类路径中完全丢失,或者版本在 [错误] 类路径可能与使用的版本不兼容 [错误] 编译 package.class。 [error] 发现两个错误 [错误] (compile:compile) 编译失败
我是否也必须将 scala 库添加到 sbt 构建文件中,还是我缺少其他东西?
【问题讨论】:
-
对不同的模块使用相同版本的 spray,并且您不需要 akka 依赖项,因为 Spray 应该自动将其引入。这有帮助吗?
-
你能分享你项目的完整源代码吗?这可能是一个错误。
-
只需要声明spray-servlet,并从spray中进行spray-routing。您还必须包括 akka-actor (正如您所做的那样),因为它仅在喷雾中声明为“提供”。如果还是有问题,也可以在spray-user邮件列表中提问。
标签: scala dependencies sbt