0

我无法将 MongoDb 添加到我的 Lift WebApp。我添加了 Maven 依赖项,即

<dependency>
  <groupId>net.liftweb</groupId>
  <artifactId>lift-mongodb-record_2.9.1</artifactId>
  <version>2.4</version>
</dependency>

到我的 pom.xml 文件,但是not found: object mongodb当我尝试时我仍然得到import mongodb._

这是我收到错误的代码(取自https://www.assembla.com/spaces/liftweb/wiki/Mongo_Configuration

import net.liftweb._
import mongodb._ // <- Here is the problem
import util.Props
import com.mongodb.{ Mongo, ServerAddress }

object MongoConfig {
  def init: Unit = {
    val srvr = new ServerAddress(
      Props.get("mongo.host", "127.0.0.1"),
      Props.getInt("mongo.port", 27017))
    MongoDB.defineDb(DefaultMongoIdentifier, new Mongo(srvr), "myapp")
  }
}
4

3 回答 3

1

寻求帮助时,您应该发布来源和确切的错误消息。AFAIK 没有 mongodb 包或对象...

无论如何,这是一个有效的示例代码:

import net.liftweb.mongodb.record.{ MongoId, MongoRecord, MongoMetaRecord }
import net.liftweb.record.field.StringField
import net.liftweb.mongodb.record.field.MongoMapField

object Device extends Device with MongoMetaRecord[Device]

class Device private () extends MongoRecord[Device] with MongoId[Device] {
  def meta = Device

  type idType = _id.MyType

  object serial extends StringField(this, "")
  object name extends StringField(this, "")
  object deviceInfo extends MongoMapField[Device, Any](this)
}

你的依赖看起来不错。

于 2012-09-10T11:28:46.150 回答
0

您可以将其添加到您的 build.sbt 文件中:

libraryDependencies ++= {
    val liftVersion = "2.4"
    Seq(
        [...]
        "net.liftweb" %% "lift-mongodb" % "2.4",
        "net.liftweb" %% "lift-mongodb-record" % "2.4",
        "com.foursquare" %% "rogue" % "1.0.29" withSources(),
        [...]
    )}
于 2012-09-09T17:31:46.937 回答
0

问题在于 Eclipse 及其插件 - 找不到合适的 jar 或其他东西。

我试过不使用IDE,它可以工作。它也适用于 Intellij IDEA CE 11.1。所以我会用它来开发。

于 2012-09-10T15:21:09.843 回答