java - mongodb Java Driver构建错误: cannot access com. mongodb.client.result.InsertOneResult,找不到类文件

标签 java mongodb

我正在关注 Installation and Quick Start on the latest (4.2.2) Mongodb Java drivers . 我收到此编译错误:

错误:(29, 29) java: 无法访问 com.mongodb.client.result.InsertOneResult 找不到 com.mongodb.client.result.InsertOneResult 的类文件

这是一个更大项目的一部分,那么类路径上的某个地方是否可以有另一个版本的 mongo?
只有一个 pom,就是这个,直接来自安装页面:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver-sync</artifactId>
    <version>4.2.2</version>
</dependency>

我正在使用 IntelliJ,在它的 Mongo 外部依赖项中,它有这些:

org.mongodb:bson:3.8.2
org.mongodb:mongodb-driver-core:3.8.2
org.mongodb:mongodb-driver-sync:4.2.2

代码如下:

import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.util.Arrays;

public class MongoTest {

    public static void main(String[] args) {
        MongoTest mongoTest = new MongoTest();
        mongoTest.init();
    }

    public void init() {
        MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
        MongoDatabase myTestDb = mongoClient.getDatabase("myTestDb");
        MongoCollection<Document> collection = myTestDb.getCollection("test");

        Document doc = new Document("name", "MongoDB")
                .append("type", "database")
                .append("count", 1)
                .append("versions", Arrays.asList("v3.2", "v3.0", "v2.6"))
                .append("info", new Document("x", 203).append("y", 102));

        collection.insertOne(doc);
    }
}

最佳答案

您需要所有三个依赖项,但它们应该都是相同的版本,例如

  • org.mongodb:bson:4.2.2
  • org.mongodb:mongodb-driver-core:4.2.2
  • org.mongodb:mongodb-driver-sync:4.2.2

如果你只依赖于 mongodb-driver-sync,其他的应该被传递。但听起来好像某处存在冲突导致您选择旧版本的 bson 和 mongodb-driver-core。您需要确定冲突的来源并加以解决。

关于java - mongodb Java Driver构建错误: cannot access com. mongodb.client.result.InsertOneResult,找不到类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66789198/

相关文章:

MongoDB Driver 2.0 C# 有没有办法找出服务器是否关闭?在新的驱动程序中我们如何运行 Ping 命令?

java - MongoDB:查找所有字段和值(_id 除外)都等于给定文档的文档?

java - 从 spring mongo 查询获取 "_id"而不是整个对象/对象列表

javascript - mongodb 高效排序和正则表达式查询

java - J2ME 应用程序不发送 POST 请求

java - weblogic 服务器中的异常 - 非法尝试调用 EJBContext.setRollbackOnly()

java - 在绘制背景上的 JPanel 中使用 JButton、JLabels 和 JTextField

mongodb - 将项目推送到数组并在同一请求中删除

java - 将 bean 作为构造函数参数注入(inject)子类中

java - android - 如何检查设备是否已连接蓝牙