Я делаю приложение Scala с помощью Play, и я хочу подключиться к кластеру Cassandra, но я не знаю, как это сделать. Я пытаюсь использовать сервер Datastax, поскольку я читаю here, что это путь, и я уже знаком с ним, так как я также использовал его в Java. Но я застрял в том, как его использовать.Как объявить зависимость от драйвера Cassandra в приложении Play/Scala?
Мой файл build.sbt выглядит следующим образом:
name := """my-first-app"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
"com.datastax.cassandra" % "cassandra-driver-core" % "2.0.2",
jdbc,
anorm,
cache,
ws)
В качестве теста я пытался импортировать некоторые из них в моем коде с помощью:
import com.datastax.driver.core.Cluster;
Полный код выглядит следующим образом (приложения .scala)
package controllers
import play.api._
import play.api.mvc._
import com.datastax.driver.core.Cluster;
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Но Whe я запустить приложение я получаю следующее сообщение об ошибке:
object datastax is not a member of package com
Я понятия не имею, что здесь происходит. Я проверил еще один проект, который также использует Cassandra, и они, похоже, делают это одинаково.
Когда вы запускаете 'sbt update', он жалуется, что не может найти банку? – vptheron
Глупый ответ, но убедитесь, что build.sbt также находится в области видимости, возможно, вы оставили свою VCS на фиксации. Как ни странно, отсутствующий встроенный файл все равно попытается построить и вернуть эту ошибку. –