java - Maven Surefire 插件 2.22.2 构建对于 Junit 5 测试用例失败,错误为 Spring Boot 中不支持的类文件主要版本 56

标签 java maven junit5 spring-boot-maven-plugin openjdk-12

Spring boot 应用程序 2.1.7.RELEASE 的 Junit 5 测试用例构建失败,并在 intelij 中出现以下错误。

[错误] 无法在项目域上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test):执行目标 org.apache.maven 的默认测试。插件:maven-surefire-plugin:2.22.2:测试失败:不支持的类文件主要版本 56 -> [帮助 1]

使用 java 9 模块化

应用程序在 Maven 中构建,无需测试用例即可运行。

使用maven Surefire插件版本2.22.1 在命令行和 intellij 中失败

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <useSystemClassLoader>false</useSystemClassLoader>
            </configuration>
        </plugin>



        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <jvmArguments>--add-modules=java.xml.ws.annotation</jvmArguments>
            </configuration>
        </plugin>

最佳答案

从错误日志中可以看到子模块使用的是maven-surefire-plugin 2.22.2 解决方案是定义所有模块使用的 Maven 插件版本,将此部分添加到主 pom.xml 中:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>12</release>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

我可以在删除 Oracle 依赖项后对其进行编译,我不知道您是否需要这样做。如果它对您有用,请在问题中发表评论。

关于java - Maven Surefire 插件 2.22.2 构建对于 Junit 5 测试用例失败,错误为 Spring Boot 中不支持的类文件主要版本 56,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57754113/

相关文章:

java - 使用 spring 和 jaxrs org.apache.cxf.service.factory.ServiceConstructionException 提供 Restful 服务

spring - 依赖项中的 JUnit 版本错误

java - 如何知道某个网站是否基于Servlet/JSP?

java - Jackson 序列化动态类型对象

java - 将 Spring Boot 1.5.8 迁移到 2.1.5 -- Gradle 问题

java - 我如何在java中将整数值转换为字符串值

maven - hbase 和 osgi - 找不到 hbase-default.xml

java - 在注释处理器配置的生成源阶段需要来自 src/main/resources 的文件

kotlin - 带有 JUnit5 的 Kotlin 1.4 中的非静态 @RegisterExtension 字段

java - 如何在 spring boot 中运行并行测试 jUnit5 - Cucumber 版本 5 及更高版本