如何在Eclipse中添加MongoDB以提升WebApp?

时间:2012-09-09 17:23:22

标签: eclipse scala mongodb lift

我无法将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")
  }
}

3 个答案:

答案 0 :(得分: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)
}

你的依赖性看起来不错。

答案 1 :(得分: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(),
        [...]
    )}

答案 2 :(得分:0)

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

我试过不使用IDE而且它有效。它也适用于Intellij IDEA CE 11.1。所以我将把它用于开发。