2014-10-03 6 views
2

Я делаю приложение 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, и они, похоже, делают это одинаково.

+2

Когда вы запускаете 'sbt update', он жалуется, что не может найти банку? – vptheron

+0

Глупый ответ, но убедитесь, что build.sbt также находится в области видимости, возможно, вы оставили свою VCS на фиксации. Как ни странно, отсутствующий встроенный файл все равно попытается построить и вернуть эту ошибку. –

ответ

3

Сделайте reload в вашей sbt или activator оболочке или закройте сеанс и начните сначала. Он просто работает со сборкой, которую вы показали в вопросе.

В качестве дополнительной проверки, была ли загружена сборка с зависимостью Cassandra, выполните show libraryDependencies, что покажет вам зависимости вашего проекта.

[play-2.3] $ show libraryDependencies 
[info] List(org.scala-lang:scala-library:2.11.2, com.typesafe.play:twirl-api:1.0.2, 
com.typesafe.play:play:2.3.4, com.typesafe.play:play-test:2.3.4:test, 
com.typesafe.play:play-docs:2.3.4:docs, org.webjars:bootstrap:3.2.0, 
org.webjars:jquery:2.1.1, org.webjars:requirejs:2.1.14, 
org.webjars:rjs:2.1.15:test, org.webjars:squirejs:0.1.0:test, 
com.datastax.cassandra:cassandra-driver-core:2.1.1) 
+0

Спасибо! Это сделал трюк. – SilverTear

Смежные вопросы