簡體   English   中英

線程“主”java.lang.NoClassDefFoundError 中的異常:com/mongodb/operation/ReadOperation

[英]Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/operation/ReadOperation

我正在開發一個數據庫項目,下面的這個 class 實例化代碼似乎失敗了。 我似乎無法弄清楚為什么。 我確保運行 mongod 並啟動 MongoDB。 有沒有人有關於如何解決這個問題的任何提示?

public DatabaseInterface() {
        this.mongoClient = new MongoClient("127.0.0.1", 27017); ## This line
        this.database = mongoClient.getDatabase("dbmsProjectDB");
        this.gson = new Gson();
    }

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/operation/ReadOperation
    at backend.DatabaseInterface.<init>(DatabaseInterface.java:54)
    at backend.main.main(main.java:8)
Caused by: java.lang.ClassNotFoundException: com.mongodb.operation.ReadOperation
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 2 more 

改用MongoClients.create(uri)

String uri = "mongodb://localhost";
MongoClient mongoClient = MongoClients.create(uri);
MongoDatabase database = mongoClient.getDatabase("dbmsProjectDB");

該消息告訴您他無法找到 class com.mongodb.operation.ReadOperation 這意味着此 class 在此位置不再可用。

將您的 MongoDb Java Driver的版本升級到4.XX版本。 從這些版本開始, ReadOperation class 的路徑已更改為另一個位置: com.mongodb.internal.operation.ReadOperation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM