将Spring Boot Starter Web依赖项与最新的MongoDB驱动程序3.11.0一起使用会给出以下错误。当我切换到旧版本的Mongo驱动程序(如3.8.2)时,这工作正常。有什么想法吗?我应该排除 Mongo 依赖项吗?
如果我删除Spring靴依赖项,Mongo连接可以正常工作。
06:39:09.046 [main] INFO org.mongodb.driver.cluster - Cluster created with settings {hosts=[host1:27017, host2:27017, host3:27017], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
06:39:09.048 [main] INFO org.mongodb.driver.cluster - Adding discovered server host1:27017 to client view of cluster
06:39:09.079 [main] INFO org.mongodb.driver.cluster - Adding discovered server host2:27017 to client view of cluster
06:39:09.080 [main] INFO org.mongodb.driver.cluster - Adding discovered server host3:27017 to client view of cluster
06:39:09.083 [main] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=UNKNOWN, servers=[{address=host3:27017, type=UNKNOWN, state=CONNECTING}, {address=host1:27017, type=UNKNOWN, state=CONNECTING}, {address=host2:27017, type=UNKNOWN, state=CONNECTING}]
Exception in thread "main" java.lang.NoSuchMethodError: com.mongodb.MongoClientSettings.getAutoEncryptionSettings()Lcom/mongodb/AutoEncryptionSettings;
at com.mongodb.client.internal.MongoClientImpl.<init>(MongoClientImpl.java:67)
at com.mongodb.client.internal.MongoClientImpl.<init>(MongoClientImpl.java:61)
at com.mongodb.client.MongoClients.create(MongoClients.java:114)
at com.mongodb.client.MongoClients.create(MongoClients.java:99)
at com.mongodb.client.MongoClients.create(MongoClients.java:83)
at com.mongodb.client.MongoClients.create(MongoClients.java:61)
at com.mongo.demo.MongoDemo.main(MongoDemo.java:98)
下面的pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mongo-test</groupId>
<artifactId>mongo-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mongo-test</name>
<description>Mongo Test</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>3.11.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Spring Boot存在一些依赖性问题。我通过以下方法解决了这个问题:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>3.11.0</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.11.0</version>
<exclusions>
<exclusion>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>3.11.0</version>
</dependency>
你能试试这种依赖性吗
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
而不是
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>3.11.0</version>
</dependency>
问题内容: 我正在尝试使用servlet上的Java驱动程序连接到mlab上托管的MongoDB数据库。 问题是我遇到以下错误: 我看了一个答案(如何解决ClassNotFoundException:com.mongodb.connection.BufferProvider?),该答案向我强调了我需要其他jar,自从我下载了这些jar之后,仍然出现此错误。 我正在使用Eclipse并将这三个jar
java中的简单写操作从来没有问题
问题内容: 我试图在Amazon Linux上为PHP安装mongodb驱动程序。运行时,出现错误消息: PEAR版本:1.9.5 PHP版本:5.3.29 我安装了gcc,这有助于我进一步进行安装直到出现此错误。 我能找到的最好的指南在这里:http : //jonathanhui.com/install-mongodb-amazon- linux PHP的指南:http : //php.net
我使用下面的mongo查询来获取最高温度。有人能帮助我们如何使用mongo java驱动程序,使用和在java中实现吗?
线程“main”com中出现异常。mongodb。MongoException$DuplicateKey:{“serverUsed”:“localhost/127.0.0.1:27017”,“err”:“E11000 duplicate key error index:twitterdb03.LevelAFollowers。$id dup key:{:ObjectId('52d5636de4086
我试图通过TestContainer运行Selenium测试。 这是由于 但是,如果我直接从一个测试调用它,它就会通过并且找到方法,例如。 但是,如果通过类调用此方法,则会抛出 这是我的测试方法: } 此测试从 其中抛出 这是一个演示项目,我已设置尝试和重新创建的问题,这里是我的整个文件: