编译时缺少scala或akka.exe
我正在尝试使用Spray Servlet创建REST服务,但没有编译。 您可以在下面找到my build.sbt:编译时缺少scala或akka.exe,scala,dependencies,sbt,Scala,Dependencies,Sbt,我正在尝试使用Spray Servlet创建REST服务,但没有编译。 您可以在下面找到my 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" librar
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更新编译”时出现的错误是:
[错误]错误的符号引用。package.class中的签名指的是术语
scala包中的[error]不可用。
[错误]当前类路径或上的版本可能完全缺少它
[错误]类路径可能与编译时使用的版本不兼容
[错误]package.class。
[错误]错误的符号引用。package.class中的签名引用类型Future
包akka.dispatch中的[error]不可用。
[错误]当前类路径或上的版本可能完全缺少它
[错误]类路径可能与运行时使用的版本不兼容
[错误]正在编译package.class。
[错误]发现两个错误
[错误]
(编译:编译)编译失败
我是否也必须将scala库添加到sbt构建文件中,还是遗漏了其他内容 tld;dr:尝试用1.1-M7替换1.0-M3 看起来您使用的Spray工件是针对Scala 2.9.2编译的,Scala 2.9.2与Scala 2.10不兼容。通常,Scala工件在工件名称中包含Scala二进制版本,这正是因为主要Scala版本与二进制不兼容
后来,根据Scala 2.10.0-RC5(基于)编译了spray util里程碑,从技术上讲,这应该是可行的 解决方法是使用所有相同的spray版本(1.1-M7)并升级到Scala 2.10.1为不同的模块使用相同版本的spray,并且您不需要akka依赖项,因为spray应该自动将其拉入。这有帮助吗?你能分享你项目的全部来源吗?这可能是一个bug。您只需要声明spray servlet,以及spray中的spray路由。您还必须包括akka actor(正如您所做的),因为它仅在spray中声明为“提供”。如果您仍然有问题,也可以向spray用户邮件列表询问。