MongoDB의 자바 드라이버를 사용하여 클래스 com.mongodb.connection.MongoQueryAnalyzer를 초기화 할 수 없습니다

Mystic77 :

그래서, 몇 가지 기본적인 MongoDB의 물건을 시도하는이 자바 프로그램을 만들고있어.

package sample;

import com.mongodb.DBObject;
import com.mongodb.Cursor;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;

public class Main {
    public static void main(String[] args) {

        MongoClient mongoClient = new MongoClient("localhost", 27017);
        DB db = mongoClient.getDB("Species");
        DBCollection col = db.getCollection("asdfg");
        System.out.println("connexion made");
        Cursor cursor=col.find();
        System.out.println(cursor.next());

    }
}

컬렉션에서 나는 이미 (내가 재미를 위해 그렇게 한 인쇄 문에서 접속의 오타를 무시) 확인에 대한 데이터 항목이 아무 문제가 없습니다 (그 중 7 주위에) 몇 ​​JSON의 문서 항목을 추가 한

좋아, 그래서 코드까지 잘 작동 Cursor cursor=col.find();내가 코드에서이 줄을 포함하지만 쇼 오류의 톤을System.out.println(cursor.next());

여기에 내가 코드를 얻을 오류입니다

"C:\Program Files\Java\jdk1.8.0_111\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.3\lib\idea_rt.jar=53479:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_111\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\rt.jar;C:\Users\mysti\Documents\untitled\out\production\untitled;C:\Users\mysti\Documents\mongo-java-driver-3.3.0-query-log-max-size.jar" sample.Main
Oct 27, 2019 9:11:54 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
connexion made
Oct 27, 2019 9:11:54 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
Oct 27, 2019 9:11:54 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:1, serverValue:1951}] to localhost:27017
Oct 27, 2019 9:11:54 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[4, 0, 11]}, minWireVersion=0, maxWireVersion=7, electionId=null, maxDocumentSize=16777216, roundTripTimeNanos=799200}
Oct 27, 2019 9:11:54 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Opened connection [connectionId{localValue:2, serverValue:1952}] to localhost:27017
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class com.mongodb.connection.MongoQueryAnalyzer
    at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:222)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:216)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:207)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:113)
    at com.mongodb.operation.FindOperation$1.call(FindOperation.java:488)
    at com.mongodb.operation.FindOperation$1.call(FindOperation.java:483)
    at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:245)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:218)
    at com.mongodb.operation.FindOperation.execute(FindOperation.java:483)
    at com.mongodb.operation.FindOperation.execute(FindOperation.java:80)
    at com.mongodb.Mongo.execute(Mongo.java:818)
    at com.mongodb.Mongo$2.execute(Mongo.java:805)
    at com.mongodb.DBCursor.initializeCursor(DBCursor.java:851)
    at com.mongodb.DBCursor.hasNext(DBCursor.java:152)
    at com.mongodb.DBCursor.next(DBCursor.java:172)
    at com.mongodb.DBCursor.next(DBCursor.java:60)
    at sample.Main.main(Main.java:16)

Process finished with exit code 1

내가 지금까지했던 읽기 작업의 모든 종류의 일을 시도 할 때마다 내가 쉽게 문제없이 데이터를 추가 할 수있는 동안 비슷한 일이 일어났다. , 임 newb를 도와주세요.

invzbl3 :

코멘트에 기록 된 모든 것을 요약합니다.

당신은 클래스와 같은 오류가 표시되는 경우, 메이븐 / Gradle을 프로젝트에서 MongoDB를 자바 드라이버의 의존성에 대한 최신 버전을 변경하거나 수동으로 또 다른 외부 항아리를 추가하려고합니다.

메이븐의 경우 :

<dependencies>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>3.10.1</version>
    </dependency>
</dependencies>

Gradle을 위해 :

dependencies {
      compile 'org.mongodb:mongodb-driver-sync:3.10.1'
  }

다른 방법으로, 당신은 또한에서 MongoDB를 드라이버 동기화 항아리 다운로드 할 수 있습니다 sonatype을 .

자세한 예는이 드라이버 MongoDB의 문서에서 찾을 수 있습니다 3.10 . 개인적으로, 나는 매우 사용하도록 권장 안정 버전 3.10.2, 3.8.2, 3.6.4처럼.

추천

출처http://43.154.161.224:23101/article/api/json?id=362671&siteId=1