[Maven]项目打包时如何避免测试

314 阅读1分钟

使用 Maven 构建的 Spring Boot 项目我们只需要点击一下 package 按钮即可完成打包,可是有一个关键问题点击打包按钮之后 Maven 会自动地去执行 test 文件夹下的测试内容,有的测试仅仅在开发阶段能跑通或者说跑单元测试会浪费很多时间会给我们带来不好体验,这时候就需要跳过测试步骤。

要搞定这个问题之前,首先我们需要知道 Maven 的生命周期,Maven 在生命周期任何一阶段都要依赖前一阶段,假如有任何一阶段运行失败了,那么下一阶段都不会运行。

以下是常见的解决方法:

1、添加命令行参数

在使用 mvn package 命令的时候添加一些参数。

  • mvn package -DskipTests=true

-DskipTests=true,不执行测试用例,但是编译测试用例生成相应的 class 文件至 target/test-classess 目录下。

  • mvn package -Dmaven.test.skip=true

Dmaven.test.skip=true,表示执行不执行测试用例,也不编译测试类。

2、pom.xml配置跳过测试

配置 pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

即可跳过测试。

3、IDEA 手动控制

Maven 命令栏的工具栏有下图中的图标,这个图标就是 Skip Tests。点击选中,再用 LifeStyle 中的打包就会跳过测试。2022 版本 IDEA,图标可能和以前的版本有些许区别,新版的是一个圆圈加闪电显示 Toggle 'Skip Tests' Mode

4、 添加 Maven 配置参数

打开设置,找到 Maven Tools -> Maven -> Runner,在 VM Options 中添加 Dmaven.test.skip=true 或者 -DskipTests=true 这个操作跟上面原理一样,只不过不用手动输入命令了。

image.png