1. 程式人生 > >將MongoDB和Java相結合所遇到的缺少jar包的問題

將MongoDB和Java相結合所遇到的缺少jar包的問題

第一次將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/這個網址 2.由於我用的驅動包是最新的驅動包,因此我點選的是紅色框3.3.0的Reference連結,進入下圖的頁面後,我們點選左側選單中的MongoDB Driver-->Getting Started 下面的Installation Guide。會出現如下圖內容頁面的內容,其中黑色框框住的內容明確指出了我們遇到的問題的原因,就是說mongodb的驅動包還需要依賴bson和mongodb-driver-core這兩個jar包。我們依次下載這兩個jar包,首先我們點選一下bson連結。

3.我們進入bson下載頁面,我們點選深綠色框框住的bson-3.3.0.jar進行下載。

4.接下來我們再進入mongodb-driver-core頁面,我們下載mongodb-drvier-core-3.3.0.jar這個jar包

5.將下載好的這兩個jar包和mongodb的驅動包放到一起,載入到專案中,就可以了。