【问题标题】:Error while including casbah dependencies包含 casbah 依赖项时出错
【发布时间】:2014-10-14 16:26:43
【问题描述】:

我在开始使用 casabah 以集成 scala 和 mongoDb 时遇到问题。我正在使用 Spring Tool Suite(STS) 并导入了以下 jar 文件:

spring-data-mongodb-1.6.0.RELEASE.jar

com.mongodb.jar

casbah-commons_2.10-2.7.2.jar

casbah-query_2.10-2.7.2.jar

joda-time-2.1.jar

slf4j-api-1.7.7.jar

casbah-gridfs_2.10-2.5.0.jar

scalaj-collection_2.10-1.4.jar

slf4j-simple-1.7.7.jar

casbah-core_2.10-2.7.2.jar

mongo-2.10.0.jar

mongo-java-driver-2.10.0.jar

但是,我得到一个错误。

错误:描述资源路径位置类型错误的符号引用。 Implicits.class 中的签名是指包 com.mongodb 中不可用的类型 Cursor。当前类路径中可能完全缺少它,或者类路径上的版本可能与编译 Implicits.class 时使用的版本不兼容。

我读了几篇帖子说问题出在 mongo-java-driver 中的版本上,所以我也尝试了 mongo-java-driver-2.10.1.jar ,但它仍然给我一个错误。

有人可以帮我解决这个错误吗?

提前非常感谢!!!

【问题讨论】:

    标签: mongodb scala dependencies spring-tool-suite casbah


    【解决方案1】:

    看起来它是一个依赖问题。 Casbah 建立在 Mongo Java 驱动程序的固定版本之上,因此依赖于特定的二进制兼容版本。

    Casbah 版本号应该都是一样的 - 上面你主要有 Casbah 2.7.2 但 gridfs 版本错误:casbah-gridfs_2.10-2.5.0.jar

    此外,Casbah 2.7.2 依赖于 Mongo Java 驱动程序的 2.12.2 版本,但是,Casbah 的最新版本是 2.7.3,它依赖于 Mongo Java 驱动程序的 2.12.3 版本。

    为了简单起见,Casbah 有一个all dependencies jar,其中包括最新版本的 java 驱动程序和所有其他相关依赖项。或者,pom file 应该指向所有声明其依赖关系的依赖包。 (由于 Casbah 被拆分为子包,casbah-commons pom 列出了所有外部依赖项。

    【讨论】:

      猜你喜欢
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多