【问题标题】:MongoDB java driver: can't find jar that contains org.bson.types.ObjectIdMongoDB java驱动程序:找不到包含org.bson.types.ObjectId的jar
【发布时间】:2016-08-26 22:30:42
【问题描述】:

我只是找不到包含类 org.bson.types.ObjectId 的 jar 文件

首先,我确保我有正确的对象和包名称: http://api.mongodb.com/java/3.1/org/bson/types/ObjectId.html

...所以,org.bson.types.ObjectId 是正确的包+类名...

我从这里下载了几个版本 [3.0.0, 3.1.0, 3.2.0, 3.2.2, 3.3.0]: https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/

我将它们分解(解压缩),我可以看到这些罐子确实包含一个包 org.bson.types 但其中没有 ObjectId 类(!!!)。

重要提示:MondoDB 页面说 BSON 库包含在 mongo java 驱动程序中,所以我认为它应该都在那里;我不应该单独下载 bson 库,对吧?看这里: http://mongodb.github.io/mongo-java-driver/

当有人告诉我答案(或者可能不是)时,我有一种感觉,我会捶我的额头......感谢任何提示!

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    啊啊啊啊啊!我会删除这个问题。这个旧项目正在使用 ANT,MongoDB POM 显示了我缺少的依赖项。见:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.3.0/mongodb-driver-3.3.0.pom

    <dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>bson</artifactId>
    <version>3.3.0</version>
    <scope>compile</scope>
    </dependency>
    

    而那些 BSON 缺失的类在此处的依赖项中: https://oss.sonatype.org/content/repositories/releases/org/mongodb/bson/3.3.0/

    Argg,这就是为什么我在重新访问旧项目时应该将旧项目从 ANT 切换到 GRADLE。或者至少是 Maven……DOH!

    【讨论】:

      【解决方案2】:

      bson-3.0.1.jar 中提供了ObjectId 类,您可以在http://www.java2s.com/Code/Jar/b/Downloadbson301jar.htm 下载相同的类

      【讨论】:

      • 是的,我很想单独下载它,但 MongoDB java 驱动程序说 BSON 包含在 Mongo java 驱动程序中(确实包含,它只是缺少一些重要的类,如 ObjectId)。我在上面的问题上添加了注释。添加一个也包含 BSON 的单独 jar 可能会导致冲突,因为 mongo jar(包含 BSON)和另一个 jar 将包含一些相同的类但来自不同的 jar 版本,从而导致很多痛苦和痛苦。跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 2023-03-20
      • 2017-12-28
      • 2016-10-18
      相关资源
      最近更新 更多