java - 在 Java 上连接到 MongoDB 的问题
问题描述
我在 Java 中的 MongoDB 有问题。我无法连接到它我总是遇到异常并且无法解决它。我为此使用 Maven 依赖项。我尝试使用其他版本的依赖项。
我还检查了 MongoDB 是否正在运行。我从net start MongoDB 开始。我的代码:
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
public class MongoDBTest {
public static void main(String[] args) throws Exception {
MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://127.0.0.1:27017"));
}
}
我的依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.10.0</version>
</dependency>
我得到的例外是:
Exception in thread "main" java.lang.NoSuchMethodError: com.mongodb.ConnectionString.getThreadsAllowedToBlockForConnectionMultiplier()Ljava/lang/Integer;
at com.mongodb.MongoClientURI.getOptions(MongoClientURI.java:351)
at com.mongodb.Mongo.createCluster(Mongo.java:724)
at com.mongodb.Mongo.<init>(Mongo.java:312)
at com.mongodb.Mongo.<init>(Mongo.java:308)
at com.mongodb.MongoClient.<init>(MongoClient.java:326)
at schlueting.arbeiten.MongoDBTest.main(MongoDBTest.java:9)
解决方案
解决方案是将以下内容添加到 Maven 依赖项中:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>3.10.1</version>
</dependency>
这修复了异常,我可以连接到 MavenDB。
顺便提一句。我使用的是 MongoDB 4.4 和 JDK 11。
推荐阅读
- hibernate - 引用另一个复合键的 JPA 复合键
- include - rst 文件中的“.. 替换”是什么意思?
- powershell - 孩子的等待过程,有超时
- flutter - 如何在颤振中使用时区库将不同的国家时间(时区)设置为模拟时钟?
- css - 如何覆盖用户代理样式表(Chrome)以将溢出设置为对我的 svg 可见?
- websocket - GraphQL 订阅与 socket.io
- ios - 我怎样才能调配 UIView.init
- flutter - 颤振动画不渲染
- java - cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素'context:component-scan'的声明
- swiftui - 使用 NavigationLink 返回上一个屏幕,而不会丢失输入的数据