Mongodb 包含casbah依赖项时出错

Mongodb 包含casbah依赖项时出错,mongodb,scala,dependencies,spring-tool-suite,casbah,Mongodb,Scala,Dependencies,Spring Tool Suite,Casbah,我在开始使用casabah集成scala和mongoDb时遇到了问题。我正在使用Spring工具套件(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 scal

我在开始使用casabah集成scala和mongoDb时遇到了问题。我正在使用Spring工具套件(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驱动程序的版本上,所以我也尝试了mongo-java-driver-2.10.1.jar,但它仍然给了我一个错误

有人能帮我解决这个错误吗


提前谢谢大家

这似乎是一个依赖性问题。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

为了简化这个过程,有一个for Casbah,其中包括最新版本的java驱动程序和所有其他相关依赖项。或者,应该指向声明其依赖关系的所有依赖包。(由于Casbah被拆分为子包,因此列出了所有外部依赖项)