无法使用mongodb Java驱动程序初始化类com.mongodb.connection.MongoQueryAnalyzer

无法使用mongodb Java驱动程序初始化类com.mongodb.connection.MongoQueryAnalyzer,java,mongodb,Java,Mongodb,所以,我制作这个java程序是为了尝试一些基本的mongodb东西 包装样品; 导入com.mongodb.DBObject; 导入com.mongodb.Cursor; 导入com.mongodb.DB; 导入com.mongodb.DBCollection; 导入com.mongodb.MongoClient; 公共班机{ 公共静态void main(字符串[]args){ MongoClient MongoClient=新的MongoClient(“本地主机”,27017); DB=mon

所以,我制作这个java程序是为了尝试一些基本的mongodb东西

包装样品;
导入com.mongodb.DBObject;
导入com.mongodb.Cursor;
导入com.mongodb.DB;
导入com.mongodb.DBCollection;
导入com.mongodb.MongoClient;
公共班机{
公共静态void main(字符串[]args){
MongoClient MongoClient=新的MongoClient(“本地主机”,27017);
DB=mongoClient.getDB(“物种”);
DBCollection col=db.getCollection(“asdfg”);
System.out.println(“连接制造”);
Cursor=col.find();
System.out.println(cursor.next());
}
}
在集合中,我已经添加了几个JSON文档条目(大约7个) 数据输入肯定没有问题 (忽略打印语句中connexion的打字错误,我这样做是为了好玩)

好的,代码可以正常工作,直到
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
每当我尝试执行迄今为止所做的任何类型的读取操作时,都会发生类似的情况,而我可以轻松地添加数据,而不会遇到任何麻烦。
请帮助我,我是新手。

好的,我知道我是如何解决它的,但我做了一个新项目,这次添加了一个maven依赖项,现在它工作得很好。我认为我没有正确使用mongodb-java-driver.jar文件,这导致了这些错误。
Thx for reading:D

好的,idk我实际上是如何解决它的,但是我做了一个新项目,这次添加了一个maven依赖项,它现在工作得很好。我认为我没有正确使用mongodb-java-driver.jar文件,这导致了这些错误。
阅读Thx:D

总结评论中的所有内容

如果您在类中看到此类错误,请尝试在maven/gradle项目中更改mongodb java驱动程序依赖项的较新版本,或者手动为其添加另一个外部jar

对于Maven:

<dependencies>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>3.10.1</version>
    </dependency>
</dependencies>
或者,您也可以从下载mongodb驱动程序同步jar

您可以在mongodb驱动程序文档中找到详细的示例。
就我个人而言,我强烈建议您使用3.10.2、3.8.2、3.6.4.

来总结评论中的所有内容

如果您在类中看到此类错误,请尝试在maven/gradle项目中更改mongodb java驱动程序依赖项的较新版本,或者手动为其添加另一个外部jar

对于Maven:

<dependencies>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>3.10.1</version>
    </dependency>
</dependencies>
或者,您也可以从下载mongodb驱动程序同步jar

您可以在mongodb驱动程序文档中找到详细的示例。
就个人而言,我强烈建议您使用类似3.10.2、3.8.2、3.6.4的版本。

这是maven还是gradle项目?gradle项目。您可以发布gradle build.gradle代码吗?哦,我等一下,在创建一个我刚刚选择JavaFX(计划在其中实现mongo)的项目时,它没有要求任何其他内容,也没有build.gradle文件。但是有一些.iml文件…我刚刚在内部库中包含了mongodb-java jar文件。它是maven还是gradle项目?gradle项目。你能发布gradle build.gradle代码吗?哦,我等一下,在创建一个项目时,我选择了JavaFX(计划在其中实现mongo),它没有要求任何其他内容,也没有build.gradle文件。不过有一些.iml文件……我刚刚在内部库中包含了mongodb-javajar文件。我假设您已经更改了mongodb驱动程序的版本。因为它看起来像是特定jar文件的错误。是的,也许你不会因为依赖而产生错误,而不是使用外部mongodb jar文件。:o Thx很多家伙,我做了另一个虚拟项目,它再次出现错误。使用Mongo3.0.0不会给我带来这些错误,现在一切都好了。我很高兴你解决了这个问题。继续,欢迎您。我想您已经更改了mongodb驱动程序的版本。因为它看起来像是特定jar文件的错误。是的,也许你不会因为依赖而产生错误,而不是使用外部mongodb jar文件。:o Thx很多家伙,我做了另一个虚拟项目,它再次出现错误。使用Mongo3.0.0不会给我带来这些错误,现在一切都好了。我很高兴你解决了这个问题。坚持下去,欢迎你。