将MongoDB和Java相结合所遇到的缺少jar包的问题

时间:2022-09-02 02:41:10

第一次将MongoDB和Java结合写程序,发现只导入一个mongodb的驱动包(mongodb-driver-3.3.0.jar)是不行的,下面我把运行的代码贴出来

public class TestMongoDB {
   public static void main(String[] args) {
   try{
    MongoClient mongoClient=new MongoClient("localhost",27017);
    MongoDatabase mongoDatabase=mongoClient.getDatabase("mycol");
    System.out.println("Connect to database successfully");
   }catch(Exception e){
    System.err.println(e.getClass().getName()+":"+e.getMessage());
    e.printStackTrace();
   }
   }
}

运行出现的错误如下:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/connection/BufferProvider
 at com.zving.test.TestMongoDB.main(TestMongoDB.java:9)
Caused by: java.lang.ClassNotFoundException: com.mongodb.connection.BufferProvider
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 ... 1 more


经过上网查资料发现是缺少jar包引起的,解决方法如下: 1.我们登录到http://mongodb.github.io/mongo-java-driver/这个网址 将MongoDB和Java相结合所遇到的缺少jar包的问题
2.由于我用的驱动包是最新的驱动包,因此我点击的是红色框3.3.0的Reference链接,进入下图的页面后,我们点击左侧菜单中的MongoDB Driver-->Getting Started 下面的Installation Guide。会出现如下图内容页面的内容,其中黑色框框住的内容明确指出了我们遇到的问题的原因,就是说mongodb的驱动包还需要依赖bson和mongodb-driver-core这两个jar包。我们依次下载这两个jar包,首先我们点击一下bson链接。 将MongoDB和Java相结合所遇到的缺少jar包的问题

3.我们进入bson下载页面,我们点击深绿色框框住的bson-3.3.0.jar进行下载。

将MongoDB和Java相结合所遇到的缺少jar包的问题

4.接下来我们再进入mongodb-driver-core页面,我们下载mongodb-drvier-core-3.3.0.jar这个jar包

将MongoDB和Java相结合所遇到的缺少jar包的问题

5.将下载好的这两个jar包和mongodb的驱动包放到一起,加载到项目中,就可以了。