[英]Apache jclouds java.lang.NoSuchMethodError when using Rackspace in a Spring Boot application
[英]java.lang.NoSuchMethodError when using Spring Boot Starter Web dependency with Mongo Driver 3.11.0
將Spring Boot Starter Web依賴項與最新的MongoDB驅動程序3.11.0一起使用會產生以下錯誤。 當我切換到3.8.2的舊版本的Mongo驅動程序時,這可以正常工作。 有任何想法嗎? 我應該排除Mongo依賴嗎?
如果刪除spring boot依賴項,則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>
你能試試這個依賴嗎
<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>
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.