Java连接MongoDB遇到问题

3
我正在尝试编写一个Java程序,连接到MongoDB数据库。我已经拥有了要访问的数据库的IP地址、端口、userDB、用户名和密码。
在Eclipse中将mongodb-driver-3.0.0.jar文件设置为引用库。我在src文件夹中创建了一个MongoDBDriver.java文件(如下所示):
import com.mongodb.MongoClient;

public class MongoDBDriver {

public static void main(String[] args) {

    MongoClient client = new MongoClient("10.66.80.152", 27017);
    String connectPoint = client.getConnectPoint();
    System.out.println(connectPoint);
    client.close();
  }

}

当我运行脚本时,出现以下错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError:     
com/mongodb/connection/BufferProvider
at MongoDBDriver.main(MongoDBDriver.java:7)
Caused by: java.lang.ClassNotFoundException:  
com.mongodb.connection.BufferProvider
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

所以,我做错了什么,如何修复它?

请查看此链接 http://javarevisited.blogspot.com/2011/06/noclassdeffounderror-exception-in.html ,它可能会对您有所帮助。 - Kick Buttowski
2个回答

3

异常意味着你的类路径不匹配。我创建了一个小应用程序,连接Java和MongoDB,并进行一些CURD操作。

eMongoDB-Java-app我认为这将是连接数据库的更好解决方案。


谢谢!我刚刚下载了这个应用程序,它看起来很棒,但我仍然无法访问数据库。我已经将以下代码添加到MongoDBManager.java文件中:// 连接到mongodb服务器 mongo = new MongoClient("10.66.80.152", 27017);// 连接到数据库 mongoMgr = mongo.getDB("mbe");boolean auth = mongoMgr.authenticate("mbeuser", "password".toCharArray()); if(auth){ System.out.println("已授权"); } else { System.out.println("未授权"); } - MarisolFigueroa
我收到了以下错误信息:com.mongodb.MongoException: not authorized for query on mbe.user - MarisolFigueroa
你有检查过 'mbeuser' 用户的权限吗? - YAS_Bangamuwage

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接