我正在尝试使用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更新编译‘的错误是:
错误的符号引用错误。package.class中的签名指的是软件包scala中无法使用的错误。错误--它可能在当前类路径中完全丢失,或者错误时的版本--类路径可能与编译错误package.class时使用的版本不兼容。错误的符号引用错误。package.class中的签名是指包akka.dispatch中不可用的未来错误类型。错误--它可能在当前类路径中完全丢失,或者错误时的版本--类路径可能与编译package.class时使用的版本不兼容。发现错误编译失败的两个错误
我是否也必须将scala库添加到sbt构建文件中,还是缺少其他内容?
发布于 2013-05-23 20:00:11
tld;dr:尝试用1.1-M7取代1.0-M3
看起来,您使用的喷雾工件是针对Scala2.9.2编译的,它与Scala2.10不兼容。通常,Scala工件在工件名称中包含Scala二进制版本,这正是因为主要Scala版本不兼容二进制。
后来,针对Scala2.10.0-Rc5(基于pom)编译了喷雾-util里程碑,这在技术上应该是可行的。
发布于 2013-05-24 17:40:47
通过使用所有相同的喷雾版本(1.1-M7)并升级到Scala2.10.1来解决
https://stackoverflow.com/questions/16719029
复制相似问题