如何在Maven中为Java 13和Spring修复不支持的类文件主版本57

时间:2019-07-31 22:37:44

标签: java maven build compiler-errors

我有这个错误

如何解决?

ReminderList

我有这样的POM

Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 57

项目有很多文字,因此需要Java 13。

3 个答案:

答案 0 :(得分:5)

通过更改pom.xml中的Spring引导版本可以为我解决此问题。

   <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
   </parent>

答案 1 :(得分:3)

spring-boot的2.2.0版本尚未发布,但是有一个里程碑版本(M4)。如果要使用它,则需要将另一个Maven存储库添加到pom.xml文件:

<repositories>
    <repository> 
        <id>repository.spring.milestone</id> 
        <name>Spring Milestone Repository</name> 
        <url>http://repo.spring.io/milestone</url> 
    </repository>
</repositories>

然后您可以依赖于里程碑构建:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.0.M4</version>
</parent>

另请参阅:https://www.baeldung.com/spring-maven-repository

答案 2 :(得分:2)

在执行以下操作之前,我不小心升级了Java:

./gradlew wrapper --gradle-version 6.2.2 --debug --stacktrace

这是我能够升级到jdk13和gradle 6.2.2的唯一肯定方式。可能有一种更简单,破坏性较小的方法,但这对我有用


要解决此问题,我安装了最新的gradle

brew install gradle

从项目的根目录将现有构建和设置移至临时位置

mv build.gradle build.gradle.old
mv settings.gradle settings.gradle.old

重新启动gradle应用程序并按照提示进行操作

gradle init

将构建和设置移回

mv build.gradle.old build.gradle
mv settings.gradle.old settings.gradle

重建项目