【问题标题】:maven throwing error when adding casbah to it向其添加 casbah 时,maven 抛出错误
【发布时间】:2011-07-20 11:22:30
【问题描述】:

我已使用 casbah 将 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 对象和类的自动完成选项,这一切都让我感到困惑。

【问题讨论】:

  • 对我来说似乎是一个 Maven 问题。等效依赖项 (libraryDependencies += "com.mongodb.casbah" % "casbah_2.8.0" % "2.1.5.0") 在 sbt 中运行良好。

标签: maven intellij-idea mongodb casbah mongodb-scala


【解决方案1】:

尝试指定以下内容(注意类型),将 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>

【讨论】:

    【解决方案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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-10-13
        • 2015-06-10
        • 1970-01-01
        • 1970-01-01
        • 2016-07-28
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多