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

Chi*_*tel 15 java mongodb

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

但是当我尝试执行代码时,它会在数据库连接线上给出以下错误:

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

以下是我的代码段:

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.");
        ...
        ...
    }
Run Code Online (Sandbox Code Playgroud)

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

bpu*_*ito 34

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

您将看到以下文字:

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

因此,您需要以下所有罐子来完成这项工作:

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/

  • 对于后来的读者:注意采取最新版本的罐子.只需导航到父目录并选择最新的目录...... (3认同)