我正在使用Play创建一个Scala应用程序,我想连接到我的Cassandra集群,但我不知道如何做到这一点。我正在尝试使用Datastax服务器,因为我阅读here这是要走的路,我已经熟悉它了,因为我还在Java中使用过它。但我对如何使用它感到困惑。
我的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;
完整代码如下所示(application.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."))
}
}
但是当我运行应用程序时,我收到以下错误消息:
object datastax is not a member of package com
我不知道这里出了什么问题。我检查了另一个也使用Cassandra的项目,他们似乎也以同样的方式进行。
答案 0 :(得分:3)
在reload
或sbt
shell中执行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)