我的目录结构:
-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
会导致
object 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
答案 0 :(得分: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._
答案 1 :(得分: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不起作用。