将mongodb与springboot restful webservice连接时出错

问题描述

通过 springboot 连接到 mongodb 数据库时出现以下异常:

com.mongodb.mongoexception:java.lang.NoClassDefFoundError:jdk/net/ExtendedSocketoptions

这是由以下原因引起的:java.lang.NoClassDefFoundError:jdk/net/extendedSocketoptions 这是由 Mongo-data-core-driver - 4.1.1 jar 抛出的

系统规格及其他

  1. Windows 版本:10
  2. Spring 工具套件版本:2.4.3
  3. Maven-apache:4.0.0
  4. Java 版本:1.8
  5. Mongo-data-core-driver - 4.1.1

Pom.xml 文件

4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.3 com.bel mctlsv 0.0.1-快照 mctlsv Spring Boot 的演示项目 1.8

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId> 
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web-services</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

异常:

com.mongodb.MongoException: java.lang.NoClassDefFoundError: jdk/net/ExtendedSocketoptions
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:157) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:188) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144) ~[mongodb-driver-core-4.1.1.jar:na]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
Caused by: java.lang.NoClassDefFoundError: jdk/net/ExtendedSocketoptions
    at com.mongodb.internal.connection.socketStreamHelper.setExtendedSocketoptions(SocketStreamHelper.java:83) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.socketStreamHelper.initialize(SocketStreamHelper.java:53) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.socketStream.initializeSocket(SocketStream.java:79) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.socketStream.open(SocketStream.java:65) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:143) ~[mongodb-driver-core-4.1.1.jar:na]
    ... 3 common frames omitted

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)