我使用MongoDB的驅動器3.5.0使用Eclipse,我沒有錯誤的IDE,但是當我運行我的程序,我得到:BIRT Java驅動程序 - getDatabase noSuchMethod錯誤
Exception in thread "main" java.lang.NoSuchMethodError: com.mongodb.MongoClient.getDatabase(Ljava/lang/String;)Lcom/mongodb/client/MongoDatabase;
爲錯誤。我已經檢查過,我只通過Maven依賴項使用3.5.0。出於某種原因,所有之前獲取MongoClient的工作正常,只是getDatabase
,這是行不通的。
編輯:我做了一個粗略的重建項目使用gradle依賴而不是Maven,並解決了這個問題。我會繼續研究它以找到原因。
如下代碼示例:
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");
*但是當我運行我的程序時,我在線程「main」中得到異常*你如何執行程序? – nullpointer
這是在Eclipse IDE中運行的,我用驅動程序的Maven依賴項以及 –
然後你可能想檢查你的IDE運行配置,因爲與其導入共享的類在'getDatabase'實現中看起來很好。 – nullpointer