Ich bin mit dem mongodb-Treiber 3.5.0 mit Eclipse, und ich bekomme keine Fehler in der IDE, aber wenn ich mein Programm laufen erhalte ich:BIRT Java Driver - getDatabase noSuchMethod Fehler
Exception in thread "main" java.lang.NoSuchMethodError: com.mongodb.MongoClient.getDatabase(Ljava/lang/String;)Lcom/mongodb/client/MongoDatabase;
als Error. Ich habe bereits überprüft und ich verwende nur 3.5.0 über eine Maven-Abhängigkeit. Aus irgendeinem Grund funktioniert alles, bevor der MongoClient funktioniert, es ist nur getDatabase
, die nicht funktioniert.
EDIT: Ich habe eine grobe Wiederherstellung des Projekts mit einem Gradle Abhängigkeit statt Maven, und das hat das Problem gelöst. Ich werde weiter nachsehen, um die Ursache zu finden.
Beispiel-Code unten:
import org.bson.Document;
import org.bson.types.ObjectId;
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.Block;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import static com.mongodb.client.model.Filters.*;
import com.mongodb.client.model.CreateCollectionOptions;
import com.mongodb.client.model.ValidationOptions;
public static Document reportFind(String id, String destination) {
ObjectId objectId = ObjectId.get();
ObjectId provider_id = new ObjectId(id);
String provider_string = provider_id.toString();
String db = "loginapp";
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("loginapp");
MongoCollection<Document> coll = database.getCollection("reporttemplates");
System.out.println("Connected to database successfully");
* aber wenn ich mein Programm ausführen bekomme ich Exception im Thread "main" * Wie führe ich das Programm aus? – nullpointer
Dies wird in der Eclipse-IDE ausgeführt, ich habe eine Maven-Abhängigkeit für den Treiber verwendet und –
möchten Sie vielleicht Ihre IDE-Laufkonfigurationen dann überprüfen, da die mit seinen Importen freigegebene Klasse für die 'getDatabase'-Implementierung gut aussieht. – nullpointer