Scala Salat错误:缺少SalatDAO所需的类文件。com.mongodb.casbah.TypeImports的引用类型MongoCollection引用了不存在的符号
当我尝试扩展SalatDAO或使用grater[T].asObject(x)时,出现以下错误: 缺少SalatDAO所需的类文件。的引用类型MongoCollection TypeImports指的是不存在的符号 我遵循了Salat示例,但出于某种原因,将SalatDAO和Gratters扩展为对象对我不起作用。我在网上找不到此错误的任何引用 这是我的密码:Scala Salat错误:缺少SalatDAO所需的类文件。com.mongodb.casbah.TypeImports的引用类型MongoCollection引用了不存在的符号,scala,mongodb,casbah,salat,Scala,Mongodb,Casbah,Salat,当我尝试扩展SalatDAO或使用grater[T].asObject(x)时,出现以下错误: 缺少SalatDAO所需的类文件。的引用类型MongoCollection TypeImports指的是不存在的符号 我遵循了Salat示例,但出于某种原因,将SalatDAO和Gratters扩展为对象对我不起作用。我在网上找不到此错误的任何引用 这是我的密码: import net.trevor.model.DBConnection._ import com.novus.salat._ impor
import net.trevor.model.DBConnection._
import com.novus.salat._
import com.novus.salat.global._
import com.mongodb.casbah.Imports._
import com.novus.salat.dao.SalatDAO
//error occurs on following line:
object HandleDAO extends SalatDAO[Handle, ObjectId](DBConnection.db("Handles")){
def getHandleAsDBObject(handle : Handle) : DBObject =
grater[Handle].asDBObject(handle)
def getHandleFromDBObject(dbObject : DBObject) : Handle =
//error occurs on following line:
grater[Handle].asObject(dbObject)
}
我真的很感谢你在这方面的任何帮助或建议。我是Scala和Mongodb的新手
我正在使用sbt编译。这是我的身材
name := "handle_engine"
version := "1.0"
scalaVersion := "2.9.1"
scalacOptions += "-deprecation"
fork in run := true
resolvers ++= Seq(
"twitter-repo" at "http://maven.twttr.com",
"repo.novus rels" at "http://repo.novus.com/releases/",
"repo.novus snaps" at "http://repo.novus.com/snapshots/",
"Java.net Maven2 Repository" at "http://download.java.net/maven/2/"
)
libraryDependencies ++= {
val liftVersion = "2.4-M5" // Put the current/latest lift version here
Seq(
"net.liftweb" %% "lift-webkit" % liftVersion % "compile->default",
"net.liftweb" %% "lift-mapper" % liftVersion % "compile->default",
"net.liftweb" %% "lift-amqp" % liftVersion % "compile->default",
"net.liftweb" %% "lift-mongodb" % liftVersion % "compile->default",
"net.liftweb" %% "lift-mongodb-record" % liftVersion % "compile->default",
"net.liftweb" %% "lift-wizard" % liftVersion % "compile->default")
}
libraryDependencies ++= Seq(
"org.eclipse.jetty" % "jetty-server" % "8.1.0.RC5", // % "compile,jetty",
"org.eclipse.jetty" % "jetty-servlet" % "8.1.0.RC5", // % "compile,jetty",
"org.mongodb" % "mongo-java-driver" % "compile->default",
"com.rabbitmq" % "amqp-client" % "compile->default",
"org.mongodb" % "casbah_2.9.0-1" % "3.0.0-M2",
"com.novus" % "salat-core_2.8.1" % "0.0.7", //Salat for MongoDB and Casbah
"org.apache.avro" % "avro" % "1.6.2",
"com.twitter" % "util-core_2.9.1" % "1.12.8", "com.twitter" % "util-eval_2.9.1" % "1.12.8",
"junit" % "junit" % "4.5" % "test->default",
"javax.servlet" % "servlet-api" % "2.5" % "provided->default",
"ch.qos.logback" % "logback-classic" % "0.9.26" % "compile->default"
)
seq(webSettings :_*)
libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.26" % "test,container"
libraryDependencies += "org.scala-tools.testing" %% "specs" % "1.6.9" % "test"
看起来你可能正在使用旧版本的Salat。尝试将您的版本更改为以下版本: “com.novus”%%“salat core”%%“0.0.8-SNAPSHOT” 或
“com.novus”%”salat-core_2.9.1“%”0.0.8-SNAPSHOT“看起来您可能使用的是旧版本的salat。尝试将您的版本更改为以下版本: “com.novus”%%“salat core”%%“0.0.8-SNAPSHOT” 或
“com.novus”%”salat-core_2.9.1“%”0.0.8-SNAPSHOT“什么是net.trevor.model.DBConnection?并检查com.mongodb.casbah.MongoCollection是否在您的classpath@SerJ突然。谢谢你的帮助。MongoCollection位于类路径上。DBConnection.db(“Handles”)与“com.mongodb.casbah.MongoConnection(host,port).getDB(database)(“Handles”)相同您是如何编译的?您是使用IDE还是从命令行编译它。如果您是在命令行上执行此操作,您是否也可以发布您使用的确切参数?我使用的是sbt编译。我将在上面发布build.sbt。什么是net.trevor.model.DBConnection?并检查com.mongodb.casbah.MongoCollection是否在您的classpath@SerJ突然。谢谢你的帮助。MongoCollection位于类路径上。DBConnection.db(“Handles”)与“com.mongodb.casbah.MongoConnection(host,port).getDB(database)(“Handles”)相同您是如何编译的?您是使用IDE还是从命令行编译它。如果您是在命令行上执行此操作,您是否也可以发布您使用的确切参数?我使用的是sbt编译。我会在上面发布我的build.sbt。谢谢。我更新了我的build.sbt以包含上面的行(两个都尝试了),但恐怕我仍然会遇到相同的错误。我的casbah版本似乎是最新的。嗯,我现在想不出任何其他的东西,除了Salat还不能用于casbah 3版本。您能否尝试使用Casbah 2.1.5-1的上一个稳定版本来确保在更改构建文件后进行了重新加载和更新?我确实@cracked_all。不过,我认为你的思路是对的。我确实认为这是环境问题。我已经搜索了所有其他软件包的最新版本,但到目前为止没有任何乐趣。仍然得到相同的错误。谢谢你的帮助。谢谢大家。关于Casbah版本的提示是正确的。我回到了上一个稳定版本,它成功了。谢谢。我更新了我的build.sbt以包含上面的行(两个都尝试了),但恐怕我仍然会遇到相同的错误。我的casbah版本似乎是最新的。嗯,我现在想不出任何其他的东西,除了Salat还不能用于casbah 3版本。您能否尝试使用Casbah 2.1.5-1的上一个稳定版本来确保在更改构建文件后进行了重新加载和更新?我确实@cracked_all。不过,我认为你的思路是对的。我确实认为这是环境问题。我已经搜索了所有其他软件包的最新版本,但到目前为止没有任何乐趣。仍然得到相同的错误。谢谢你的帮助。谢谢大家。关于Casbah版本的提示是正确的。我回到了上一个稳定版本,它成功了。