Я новачок у Scala. Під час намагання спрей з аккою я отримую таку помилку
Error:(17, 17) type mismatch;
found : String("Welcome to Scala")
required: spray.httpx.marshalling.ToResponseMarshallable
complete("Welcome to Scala")
Код:
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 залежностей:
<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>
Іде використовується intellij Idea 14
Чи залежність суворо пов'язується з версією Scala?
Будь ласка, допоможіть вирішити проблему.
Відповіді:
0 для відповіді № 1Ваш приклад працює для мене. Я підозрюю що-небудь неправильно з вашими залежностями, що викликає spray.httpx.marshalling
не можна знайти.
В цілому я настійно рекомендую не використовувати Maven зСкала і дотримуйтесь SBT замість цього. З SBT ви отримуєте доступ до тих самих залежностей (як у Maven), але також може безпосередньо вказати залежність від GitHub. Ви також отримаєте додаткову компіляцію. Зручна можливість запуску контейнера оболонки або сервлета в сбт. Якщо ви використовуєте Intellij IDEA, ви можете відкрити конфігурацію SBT як проект. І це поставляється з виконанням завдань, які, напевно, вам знадобиться (тестування, запуск, документація, опублікування-локальна, консоль).