Ich versuche, einfachen Java-Code zu schreiben, der die MongoDB-Sammlungen auf der Konsole anzeigt. Ich habe mongodb-driver-3.0.0.jar in meinem Klassenpfad hinzugefügt.
Aber wenn ich versuche, den Code auszuführen, gibt es einen Fehler in der Datenbankverbindung:
Ausnahme im Thread "main" java.lang.NoClassDefFoundError: com / mongodb / Verbindung / BufferProvider at com.chintan.app.MongoDbJdbc.main (MongoDbJdbc.java:12) verursacht durch: java.lang.ClassNotFoundException: com.mongodb.connection.BufferProvider bei java.net.URLClassLoader $ 1.run (Unbekannte Quelle) um java.net.URLClassLoader $ 1.run (Unbekannte Quelle) um java.security.AccessController.doPrivileged (Native Methode) um java.net.URLClassLoader.findClass (Unbekannte Quelle) um java.lang.ClassLoader.loadClass (Unbekannte Quelle) um sun.misc.Launcher $ AppClassLoader.loadClass (Unbekannte Quelle) um java.lang.ClassLoader.loadClass (Unbekannte Quelle) ... 1 mehr
Das Folgende ist mein Code-Snippet:
%Vor%Was ist das Problem hier? Muss ich ein weiteres jar im Klassenpfad hinzufügen oder gibt es ein Versions-Problem?
Auf der Mongo-Treiberseite hier: Ссылка
Sie sehen den folgenden Text:
Hinweis: mongodb-driver benötigt die folgenden Abhängigkeiten: bson und mongodb-driver-core
Sie brauchen also alle folgenden Gläser, damit dies funktioniert:
mongodb-driver-3.0.1.jar, mongodb-driver-core-3.0.1.jar, bson-3.0.1.jar
Was kann von hier heruntergeladen werden: Ссылка Ссылка Ссылка
Der folgende Java-Treiber enthält die BufferProvider-Klasse:
Diese Klasse befindet sich in der JAR-Datei mongodb-driver-core-3.0.0
, die von mongodb-driver-3.0.0.jar
benötigt wird. Sie können Java-Treiberabhängigkeiten in der POM-Datei sehen mit diesem Glas verbunden.
Ich denke, Sie müssen einen Abhängigkeits-Manager verwenden, um MongoDB (und andere Komponenten) transitive Abhängigkeiten automatisch zu Ihrem Projekt hinzuzufügen (Maven, Gradle, ...).
Wenn Sie kein Maven-Projekt haben, fügen Sie einfach mongo-java-driver-3.6.1.jar (dieses jar ist nur für Java) in Ihr Projekt ein, Sie müssen keine anderen jars hinzufügen.