4

I'm following the Installation and Quick Start on the latest (4.2.2) Mongodb Java drivers. I'm getting this compile error:

Error:(29, 29) java: cannot access com.mongodb.client.result.InsertOneResult class file for com.mongodb.client.result.InsertOneResult not found

This is part of a larger project, so could there be another version of mongo somewhere on the class path?
There is only one the pom, and it is this, straight from the Installation page:

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

I'm using IntelliJ, and in it's External Dependencies for mongo, it has these:

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

Here's the code :

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);
    }
}
2
  • You probably need the only dependency: org.mongodb:mongodb-driver-sync:4.2.2. Commented Mar 25, 2021 at 2:47
  • I think the other 2 mongodb and bson dependencies were brought in by IntelliJ; I don't know how to remove them; does this really matter? Commented Mar 25, 2021 at 14:14

1 Answer 1

6

You need all three dependencies, but they should all be the same version, e.g.

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

If you take a dependency only on mongodb-driver-sync, the others should be picked up transitively. But it sounds like there is a conflict somewhere which is causing you to pick up older versions of bson and mongodb-driver-core. You will need to determine where that conflict is coming from and address it.

Sign up to request clarification or add additional context in comments.

1 Comment

version same is very important works now

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.