Maven打包SpringBoot项目,因包含SpringBootTest单元测试和Java预览版特性导致打包失败

SpringBoot启用Java预览版特性(无测试类)

pom.xml文件中加入以下配置表示启用Java预览版

xml 复制代码
 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
         <release>${java.version}</release>
         <encoding>UTF-8</encoding>
         <compilerArgs>
             <arg>--enable-preview</arg>
         </compilerArgs>
     </configuration>
 </plugin>

当项目中包含此配置,若无SpringBootTest测试类,则能正常编译打包

SpringBoot启用Java预览版特性(含测试类)

若项目中包含单元测试则需要额外配置--enable-preview参数

xml 复制代码
 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <release>${java.version}</release>
        <encoding>UTF-8</encoding>
        <compilerArgs>
            <arg>--enable-preview</arg>
        </compilerArgs>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <argLine>--enable-preview</argLine>
    </configuration>
</plugin>

Maven package与单元测试的关系

Maven执行package前会执行一次test

由于spring-boot-starter-test依赖的作用域是test,SpringBootTest的单元测试类不会参与打包

但若是单元测试不通过,则会导致打包失败

相关推荐
JavaGuide1 分钟前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人7 分钟前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
figo10tf34 分钟前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva37 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露42 分钟前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
小程故事多_8043 分钟前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
冰暮流星43 分钟前
sql语言之分组语句group by
java·数据库·sql
望舒5131 小时前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
黎雁·泠崖1 小时前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
程序员敲代码吗1 小时前
Spring Boot与Tomcat整合的内部机制与优化
spring boot·后端·tomcat