当前位置: 首页 > 面试题库 >

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

孙修德
2023-03-14
问题内容

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

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

线程“主”中的异常java.lang.NoClassDefFoundError:com.montan.app.MongoDbJdbc.main(MongoDbJdbc.java:12)上的com
/ mongodb / connection /
BufferProvider造成原因:java.lang.ClassNotFoundException:com.mongodb.connection
.BufferProvider在java.net.URLClassLoader $ 1.run(未知源)在java.net.URLClassLoader
$
1.run(未知源)在java.security.AccessController.doPrivileged(本机方法)在java.net.URLClassLoader.findClass(未知Source)java.lang.ClassLoader.loadClass(未知源)处sun.misc.Launcher
$ AppClassLoader.loadClass(未知源)处java.lang.ClassLoader.loadClass(未知源)… 1更多

以下是我的代码段:

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还是存在一些版本问题?


问题答案:

在此处的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/



 类似资料:
  • 问题内容: 我试图通过我的Web项目上的applet访问客户端的临时目录。 当我自己运行小程序时,它毫无问题地得到了。 当我尝试使用javascript并调用applet方法在我的项目上获取它时,我在javascript控制台上运行。当我尝试读取temp目录下的文件时,我也遇到同样的异常。 这正是我所看到的: 怎么解决? 问题答案: 最简单的解决方案是对applet进行签名。

  • 问题内容: 我已经尝试了Oracle Java教程中的两个示例。它们都可以正常编译,但是在运行时都出现以下错误: 我想我可能将Main.java文件放在错误的文件夹中。这是目录层次结构: 这里是 我在这里做错了什么? 更新 将Main类放入graphics包中(添加package graphics;到其中)后,将类路径设置为“ _test”(包含图形的文件夹),进行编译,然后使用java grap

  • 问题内容: 我有2个函数,都返回诺言: 现在,我有了一个清单,在这两个诺言得到解决后,我想立即更新 已解决的主题应如下所示 问题答案: 创建一个承诺,当您通过的所有承诺均被拒绝或 任何 拒绝时,该承诺都会自动解决。 如果像您一样将其传递给数组,则处理成功解析的函数将收到一个数组,其中每个项目都是针对相同索引的诺言的分辨率,例如: 我个人认为传递对象更具可读性,这样您就可以在处理程序中获得一个对象,

  • 我在Oracle的Java教程中尝试了这两个示例。它们都可以很好地编译,但在运行时都会出现以下错误: 我想我可能有文件位于错误的文件夹中。 以下是目录层次结构: 这里是: 我做错了什么? 更新 在我将类放入包(我添加了)之后,将类路径设置为“_test”(包含图形的文件夹),编译它,并使用(从命令行),它工作了。 更新非常晚#2 我没有使用Eclipse(只是记事本和JDK),上面的更新解决了我的

  • 我已经在Oracle的Java教程中尝试了这两个示例。它们都编译得很好,但在运行时,都出现了以下错误: 我想文件可能在错误的文件夹中。 非常晚的更新#2 我没有使用Eclipse(只有记事本++和JDK),上面的更新解决了我的问题。然而,似乎这些答案中有许多是针对Eclipse和IntelliJ IDEA的,但它们有相似的概念。

  • 问题内容: 我已经编写了一些代码以连接到我的邮件服务器并阅读电子邮件。我正在使用通过SSL连接的POP3。我还向SSL密钥库添加了SSL证书。但是我仍然遇到同样的例外。请帮忙。提前致谢。 问题答案: 导致此异常的可能原因是,密钥库中的证书与服务器中的证书不匹配。 检出这些链接可能对您有帮助: 由于PKIX路径构建失败而无法连接到SSL服务sun.security.provider.certpath