4

我的目录结构:

-build.sbt
-src
--main
---scala
----MongoConnect.scala
-lib

我的build.sbt

name := "mongodb-experiments"

version := "0.1"

libraryDependencies ++= Seq(
  "com.mongodb.casbah" %% "casbah" % "3.0.0-SNAPSHOT"
)

resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"

我的 MongoConnect.scala 程序:

import com.mongodb.casbah.Imports._
object MongoConnect{
  def main(args: Array[String]){
    println("Hello Mongo")
  }
}

为什么会sbt compile导致

对象 casbah 不是包 com.mongodb 的成员

?

sbt compile
[info] Set current project to mongodb-experiments (in build file:/Users/hrishikeshparanjape/git-public/mongodb-experiments/)
[info] Updating {file:/Users/hrishikeshparanjape/git-public/mongodb-experiments/}default-fc358e...
[info] Resolving org.scala-lang#scala-library;2.9.1 ...
[info] Resolving com.mongodb.casbah#casbah_2.9.1;3.0.0-SNAPSHOT ...
[info] Resolving com.mongodb.casbah#casbah-util_2.9.1;3.0.0-SNAPSHOT ...
[info] Resolving org.slf4j#slf4j-api;1.6.0 ...
[info] Resolving org.mongodb#mongo-java-driver;2.7.2 ...
[info] Resolving org.scalaj#scalaj-collection_2.9.1;1.2 ...
[info] Resolving org.scala-tools.time#time_2.8.0;0.2 ...
[info] Resolving joda-time#joda-time;1.6 ...
[info] Resolving com.mongodb.casbah#casbah-commons_2.9.1;3.0.0-SNAPSHOT ...
[info] Resolving com.mongodb.casbah#casbah-core_2.9.1;3.0.0-SNAPSHOT ...
[info] Resolving com.mongodb.casbah#casbah-query_2.9.1;3.0.0-SNAPSHOT ...
[info] Resolving com.mongodb.casbah#casbah-gridfs_2.9.1;3.0.0-SNAPSHOT ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/hrishikeshparanjape/git-public/mongodb-experiments/target/scala-2.9.1/classes...
[error] /Users/hrishikeshparanjape/git-public/mongodb-experiments/src/main/scala/MongoConnect.scala:1: object casbah is not a member of package com.mongodb
[error] import com.mongodb.casbah.Imports._
[error]                    ^
[error] one error found
[error] {file:/Users/hrishikeshparanjape/git-public/mongodb-experiments/}default-fc358e/compile:compile: Compilation failed
[error] Total time: 7 s, completed Jul 26, 2012 11:53:35 PM
4

2 回答 2

4

为什么要使用旧版本的 casbah 快照存储库?

libraryDependencies ++= Seq(
  "org.mongodb" %% "casbah" % "2.4.1"
)

resolvers += "typesafe" at "http://repo.typesafe.com/typesafe/releases/"

%% 登录依赖将选择在 sbt scala 版本中配置

对于 3.x 版本有一个里程碑

libraryDependencies ++= Seq(
      "org.mongodb" %% "casbah" % "3.0.0-M2"
    )

我记得在 3.x 中导入应该更改为:

import com.mongodb.casbah._
于 2012-07-27T10:25:18.490 回答
2

将您的 build.sbt 文件修改为:

name := "mongodb-experiments"

version := "0.1"

libraryDependencies ++= Seq(
  "com.mongodb.casbah" % "casbah_2.9.0" % "2.2.0-SNAPSHOT"
)

resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"

由于某种原因,3.0.0 不起作用。

于 2012-07-27T07:26:55.850 回答