当前位置: 首页 > 知识库问答 >
问题:

spring boot starter数据mongodb版本问题

邢焕
2023-03-14

原因:java。lang.UnsupportedClassVersionError:org/bson/codecs/record/recordcodeceprovider由最新版本的Java运行时(类文件版本61.0)编译,该版本的Java运行时仅识别Java中高达59.0的类文件版本。基本/java。lang.ClassLoader。defineClass1(本机方法)~[na:na]

在pom中添加spring boot starter数据mongodb。引发问题的xml

4.0.0 com。英菲尼拉。fps fps api 0.0.1-SNAPSHOT财务规划系统财务规划系统api

<parent>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.0</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <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.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

</dependencies>

<properties>
    <java.version>1.8</java.version>
</properties>

共有1个答案

卜盛
2023-03-14

UnsupportedClassVersionError表示您的JRE比创建您试图使用的类文件的版本旧。61表示org/bson/codecs/record/recordcodeceprovider已使用JDK 17编译,而59表示您正试图使用JRE 15来运行这些类文件。

您可以尝试查找使用JDK 15或更旧版本编译的org/bson/codecs/record/RecordCodecProvider的旧版本,尝试自己编译源代码(前提是它们不使用任何比JDK 15更新的功能),或者将JRE升级到17。

由于对JDK 15的积极支持可能已经在一年多前结束(OpenJDK,其他风格可能会有所不同),而JDK 17是LTS,将支持到2027年(同样是OpenJDK),我建议升级到JRE 17。

 类似资料:
  • 我使用的是spring-boot-starter父版本1.4.0.M3和spring-boot-starter data-solr,在pom文件中没有任何版本,solr-solrj也没有任何版本(它使用的是5.5.1版本)。我想包括solr-core,因为我必须提到版本,如果我添加了版本6.0.0或6.1.0,项目将编译,但在运行时,当我尝试创建SolrConfig对象时失败,错误如下 尝试降低s

  • 各位大佬好,我的问题是这样: 我有一个服务器,我在服务器里自己安装了一个mongodb,假设外网访问是131.131.131.131:30303. 然后我在家里通过访问这个ip就能拿到。 而我在这个服务器上部署了一个服务,连接这个mongo使用的是127.0.0.1:30303。 但发生了异常:我在家里通过ip远程(程序访问)访问,拿回来700多的数据。 但是 在服务上的程序通过127访问mong

  • 问题内容: 您能否分享您的想法,如何在MongoDB中实现数据版本控制。(我也曾问过有关Cassandra的类似问题。如果您有任何想法,哪个数据库更好,请分享) 假设我需要在一个简单的通讯簿中对记录进行版本控制。(地址簿记录存储为平面json对象)。我希望这段历史: 将很少使用 将一次全部使用,以“时间机器”的方式呈现 一个记录不会有超过几百个的版本。历史不会过期。 我正在考虑以下方法: 创建一个

  • 作为最近一个项目的一部分,我们的Solr搜索引擎升级到了5.0.0。运行客户机的程序在生产/qa中运行良好,但当我在本地系统上运行该程序时,会收到以下错误消息: 这个例外来自apache-solr-solrj-1.4.1。罐子,我想应该换掉。但当我检查(正在运行的)生产代码时,相同的jar文件就在那里。 但是,生产服务器上的java版本已升级为java版本“1.7.0_79”。在我的本地系统上,我

  • amh要还原,版本的问题,要怎么处理?以前备份时是7.0,现在7.1啊,7.0的极速安装谁还有啊? 怎么解决amh7.1面板版本不能还原数据问题

  • 版本问题,ant design vue1.7.8版本能用less4版本吗? 目前项目为less3版本,按需求升级到less4,报错的内容是ant design vue相关的