首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala 2.11.4、akka 2.3.7、spray 1.3.1出现类型不匹配错误

Scala 2.11.4、akka 2.3.7、spray 1.3.1出现类型不匹配错误
EN

Stack Overflow用户
提问于 2014-12-05 14:23:11
回答 1查看 411关注 0票数 0

我是Scala的新手。在尝试使用akka进行喷雾时,我遇到以下错误

代码语言:javascript
复制
Error:(17, 17) type mismatch;
 found   : String("Welcome to Scala")
 required: spray.httpx.marshalling.ToResponseMarshallable
       complete("Welcome to Scala")

代码:

代码语言:javascript
复制
import spray.routing._
import akka.actor._
object SampleApplication extends App with SimpleRoutingApp {
  implicit val actorSystem = ActorSystem()
  startServer(interface = "localhost", port = 8080) {
    get {
      path("hello") {
        complete {
          "Welcome to Scala"
        }
      }
    }
  }
}

Maven依赖项:

代码语言:javascript
复制
  <dependencies>
<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-library</artifactId>
  <version>${scala.version}</version>
</dependency>
<dependency>
  <groupId>org.specs</groupId>
  <artifactId>specs</artifactId>
  <version>1.2.5</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>io.spray</groupId>
  <artifactId>spray-routing</artifactId>
  <version>${spray.version}</version>
</dependency>
<dependency>
  <groupId>io.spray</groupId>
  <artifactId>spray-can</artifactId>
  <version>${spray.version}</version>
</dependency>
<dependency>
  <groupId>io.spray</groupId>
  <artifactId>spray-httpx</artifactId>
  <version>${spray.version}</version>
</dependency>
<dependency>
  <groupId>io.spray</groupId>
  <artifactId>spray-client</artifactId>
  <version>${spray.version}</version>
</dependency>
<dependency>
  <groupId>io.spray</groupId>
  <artifactId>spray-json_2.11</artifactId>
  <version>${spray.version}</version>
</dependency>
<dependency>
  <groupId>com.typesafe.akka</groupId>
  <artifactId>akka-actor_2.11</artifactId>
  <version>${akka.version}</version>
</dependency>
  </dependencies>

使用的Ide是intellij Idea 14

依赖关系是否严格绑定到scala版本?

请帮助解决此问题。

EN

回答 1

Stack Overflow用户

发布于 2014-12-12 23:16:46

你的例子对我很有效。我怀疑您的依赖项存在шы错误,这会导致找不到spray.httpx.marshalling

总而言之,我强烈建议不要将Maven与Scala一起使用,而是坚持使用SBT。使用SBT,您可以访问相同的依赖项(就像在Maven中一样),但也可以直接从GitHub指定依赖项。您还将获得增量编译。在sbt中启动shell或servlet容器的能力也很方便。如果你使用Intellij IDEA,它可以将SBT配置作为项目打开。它附带了你可能需要的make任务(测试、运行、文档、本地发布、控制台)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27310016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档