2

我已将 casbah 添加到我的依赖项中

  <dependency>
  <groupId>com.mongodb.casbah</groupId>
  <artifactId>casbah_2.8.0</artifactId>
  <version>2.1.5.0</version>
  </dependency>

然后我就写了一个简单的mongo连接语句

 val mongoConn = MongoConnection()
 val mongoDB = mongoConn("test")
 val newObj = MongoDBObject("foo" -> "bar","x"->"y","pie"->3.14,"spam"->"eggs")

然后我编译它

mvn compile

但是它正在抛出错误,它找不到目标

[ERROR] Failed to execute goal on project test-project: Could not resolve depend
encies for project org.scala-lang:test-project:jar:default: Could not find artif
act com.mongodb.casbah:casbah_2.8.0:jar:2.1.5.0 in scala-tools.org (http://scala
-tools.org/repo-releases) -> [Help 1]

有人可以告诉我问题是什么。除了添加此依赖项之外,我没有对 POM 进行任何其他更改。事实是我不知道还有什么可以改变的。但我也观察到 intellij idea 显示了 casbah 对象和类的自动完成选项,这一切都让我感到困惑。

4

3 回答 3

4

尝试指定以下内容(注意类型),将 scala.version 替换为 2.8.0 或您使用的版本。

  <dependency>
      <groupId>com.mongodb.casbah</groupId>
      <artifactId>casbah_${scala.version}</artifactId>
      <version>2.1.5-1</version>
      <scope>compile</scope>
      <type>pom</type>
    </dependency>
于 2011-07-26T17:14:57.233 回答
2

我遇到了同样的问题,并通过将整个casbah依赖项拆分为子依赖项列表来解决它:

<properties>
    <scala.version>2.9.0-1</scala.version>
</properties>
<!--Database : casbah -->
<dependency>
   <groupId>com.mongodb.casbah</groupId>
   <artifactId>casbah-commons_${scala.version}</artifactId>
   <version>2.1.5-1</version>
</dependency>
<dependency>
<groupId>com.mongodb.casbah</groupId>
   <artifactId>casbah-query_${scala.version}</artifactId>
   <version>2.1.5-1</version>
   </dependency>
<dependency>
   <groupId>com.mongodb.casbah</groupId>
   <artifactId>casbah-gridfs_${scala.version}</artifactId>
   <version>2.1.5-1</version>
</dependency>
<dependency>
   <groupId>com.mongodb.casbah</groupId>
   <artifactId>casbah-core_${scala.version}</artifactId>
   <version>2.1.5-1</version>
</dependency>

不要忘记分别更改scalacasbah版本2.8.02.1.5.0

于 2011-07-26T17:19:04.007 回答
0

也许这是一个不正确的依赖指定。

如果我们查看存储库,我们只会看到此依赖项的 pom 文件,而没有看到 jar。也许,您应该尝试指定casba-core或类似的东西。

于 2011-07-20T12:51:52.987 回答