17

I am trying to write simple java code which shows the MongoDB collections on console. I have added mongodb-driver-3.0.0.jar in my classpath.

But when I try to execute the code, it is giving me following error at the line of Database connection:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/connection/BufferProvider at com.chintan.app.MongoDbJdbc.main(MongoDbJdbc.java:12) Caused by: java.lang.ClassNotFoundException: com.mongodb.connection.BufferProvider at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 1 more

Following is my code snippet:

public static void main(String[] args) 
    {
        MongoClient mongoClient = new MongoClient("localhost", 27017); //Exception

        @SuppressWarnings("deprecation")
        DB db = mongoClient.getDB("mydb");
        System.out.println("Database connection successfull.");
        ...
        ...
    }

What is the problem here? Do I need to add another jar in classpath or there is some version problem?

1
  • can you show your imports? Commented Apr 19, 2015 at 11:41

5 Answers 5

37

On the mongo driver page here: http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/installation-guide/#mongodb-driver

You'll see the following text:

Note: mongodb-driver requires the following dependencies: bson and mongodb-driver-core

So you need all of the following jars to make this work:

mongodb-driver-3.0.1.jar, mongodb-driver-core-3.0.1.jar, bson-3.0.1.jar

Which can be downloaded from here: https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.0.1/ https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver-core/3.0.1/ https://oss.sonatype.org/content/repositories/releases/org/mongodb/bson/3.0.1/

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

2 Comments

For later readers: Pay attention to take the newest version of the jars. Just navigate to the parent directories and pick the newest ones...
Also, for later readers, this is the correct answer, I just don't know why it wasn't marked as the right one.
3

The following java driver contains the BufferProvider class:

http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.0.0

Comments

0

This class is in the mongodb-driver-core-3.0.0 jar file which is required by mongodb-driver-3.0.0.jar. You can see java drivers dependencies in the POM file associated with this jar.
I think you have to use a dependency manager to automatically add MongoDB (and other components) transitive dependencies to your project (maven, gradle, ...).

Comments

0

If you don't have maven project, just include mongo-java-driver-3.6.1.jar (this jar is only for Java) in your project no need to include other jars.

Comments

0

include mongo-java-driver-3.11.0.jar file in class path not in Module path.

Comments

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.