如何解决ClassNotFoundException:com.mongodb.connection.BufferProvider?

如何解决ClassNotFoundException:com.mongodb.connection.BufferProvider?

问题描述:

我正在尝试编写简单的java代码,该代码在控制台上显示MongoDB集合。我已经在我的类路径中添加了mongodb-driver-3.0.0.jar。

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:


线程main中的异常java.lang.NoClassDefFoundError:
com / mongodb / connection / BufferProvider at
com.chintan.app.MongoDbJdbc.main(MongoDbJdbc.java:12)引起:
java.lang.ClassNotFoundException:
com.mongodb.connection.BufferProvider at
java。 net.URLClassLoader $ 1.run(未知来源)at
java.net.URLClassLoader $ 1.run(未知来源)at
java.security.AccessController.doPrivileged(Native Method)at
java。 net.URLClassLoader.findClass(未知来源)at
java.lang.ClassLoader.loadClass(Unknown Source)at
sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)at
java。 lang.ClassLoader.loadClass(未知来源)... 1更多

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

以下是我的code snippet:

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.");
        ...
        ...
    }

什么是问题在这里?我是否需要在类路径中添加另一个jar或存在一些版本问题?

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

在mongo驱动程序页面上: http://mongodb.github.io/mongo-java -driver / 3.0 / driver / getting-started / installation-guide / #mongodb-driver

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

您将看到以下文字:

注意:mongodb-driver需要以下依赖项:bson和mongodb-driver-core

所以你需要以下所有的jar来完成这项工作:

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

可以从这里下载:
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/

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/