第一次将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的驱动包放到一起,加载到项目中,就可以了。