Maven打包跳过测试的三种方法

这里提供三种 Maven 打包跳过测试的方法:

方法一:使用 "-DskipTests" 参数

这是打包时常见使用的参数, 可以跳过测试并进行打包。在命令行中使用参数如下:

mvn clean package -DskipTests

或者在 pom.xml 文件中的 build 标签中添加如下配置:

<build>
    <plugins>
        ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
        ...
    </plugins>
</build>

方法二:使用 "-Dmaven.test.skip=true" 参数

该参数在本地编译测试代码时会被跳过,但在打包时会跳过编译和测试两个步骤。在命令行中使用参数如下:

mvn clean package -Dmaven.test.skip=true

或在 pom.xml 文件中在 build 标签中的 plugin 部分添加如下配置:

<build>
    <plugins>
        ...
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
        ...
    </plugins>
</build>

方法三:使用 "-Dmaven.javadoc.skip=true" 参数

该参数只跳过 javadoc 文档的生成,而不影响编译和测试的过程。在命令行中使用参数如下:

mvn clean package -Dmaven.javadoc.skip=true

或在 pom.xml 文件中的 <build> 标签下的 <plugins> 子标签中添加如下配置:

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

示例1:使用 "-DskipTests" 参数

假设我们有一个名为 MyProject 的项目,执行如下命令:

mvn clean package -DskipTests

运行成功后,进入 target 目录,可以看到如下文件:

MyProject-0.0.1-SNAPSHOT.jar
MyProject-0.0.1-SNAPSHOT.jar.original

可以发现这时候我们打包的 jar 包没有测试类的影响。

示例2:使用 "-Dmaven.test.skip=true" 参数

在 pom.xml 文件的 Build 标签下添加如下配置:

<build>
   <plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
           <configuration>
               <skipTests>true</skipTests>
           </configuration>
       </plugin>
   </plugins>
</build>

执行如下命令:

mvn clean package -Dmaven.test.skip=true

运行成功后,进入 target 目录,可以看到如下文件:

myproject-0.0.1-SNAPSHOT.jar
myproject-0.0.1-SNAPSHOT.jar.original

同样地,可以发现这时候我们打包的 jar 包没有测试类的影响。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Maven打包跳过测试的三种方法 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • quartz时间表达式Cron详解

    Quartz 时间表达式 Cron 详解 1. Cron 表达式语法 Cron 表达式是一个字符串,包含了六个时间元素和一个可选的第七个元素,决定了任务的触发时间。每个时间元素以空格分隔,格式为: 秒(0~59) 分钟(0~59) 小时(0~23) 日(1~31) 月(1~12) 星期(0~7) 其中星期可以使用数字(0~7)来表示,也可以使用英文缩写(SU…

    Java 2023年5月20日
    00
  • Spring AOP实现原理解析

    下面我将为你讲解 Spring AOP 实现原理解析的完整攻略。 Spring AOP 实现原理解析 1. 动态代理 Spring AOP 的实现原理是基于 JDK 动态代理或者 CGLIB 动态代理两种技术实现的。本文主要讲解的是 JDK 动态代理的实现原理。 在 JDK 动态代理中,代理对象实现了被代理对象的所有接口,并将方法调用转发给被代理对象。实现的…

    Java 2023年5月19日
    00
  • Java 8 Stream 处理数据方法汇总

    Java 8 Stream 处理数据方法汇总 什么是 Java 8 Stream Java 8 Stream 是在 JDK 8 中引入的一个新的 API,它提供了一种更为优雅和高效的处理集合类数据的方法。 Stream 提供了一种流式处理数据的方式,它可以实现类似于 SQL 的聚合操作,如过滤、映射、分组和归约等操作。与传统的集合框架相比,Stream 代码…

    Java 2023年5月26日
    00
  • eclipse怎么批量修改java文件编码?

    下面我将详细讲解“eclipse怎么批量修改java文件编码”的攻略,包括两条示例说明。 首先,为了批量修改java文件编码,我们需要在eclipse中安装一个插件,这个插件叫做”CpDetector”。这个插件能够帮助我们自动检测和转换文件编码,非常方便。 安装插件的步骤如下: 1.打开eclipse,点击”Help” -> “Eclipse Mar…

    Java 2023年5月31日
    00
  • 一篇文章带你了解如何正确使用java线程池

    一篇文章带你了解如何正确使用Java线程池 了解Java线程池的基本概念 什么是线程池? Java线程池是一种用来管理线程的机制,它可以在程序启动时预先创建一定数量的线程,然后缓存起来以供以后使用。当需要执行任务时,从线程池中获取一个线程来执行任务。执行完毕后,线程会自动归还给线程池,线程池可以复用这些线程,这样可以减少因线程创建与销毁所带来的开销。 为什么…

    Java 2023年5月18日
    00
  • 一文带你搞懂Java中的递归

    一文带你搞懂Java中的递归 什么是递归 递归是一种解决问题的方法,它通过将问题分解成更小的子问题,并通过调用自身来解决它们。在编程中,递归允许您使用相同的代码来处理不同的输入,这使得代码更加简洁和更容易理解。 Java中的递归 在Java中,递归的实现非常简单。通常,递归函数有两个部分:基本情况和递归情况。基本情况通常是递归函数停止递归的条件,好比说输入参…

    Java 2023年5月19日
    00
  • Java实现经典拳皇误闯冒险岛游戏的示例代码

    让我来详细给你讲解Java实现经典拳皇误闯冒险岛游戏的示例代码的完整攻略。 核心思路 经典拳皇误闯冒险岛游戏的核心思路是将两个游戏融合在一起,使得玩家能够在游戏中既能享受打拳皇的快感,又能够领略冒险岛的神奇之旅。在实现这个目标的过程中,需要分别实现拳皇游戏和冒险岛游戏的核心逻辑,并将它们合并在一起。 实现步骤 首先,我们需要将拳皇游戏的代码和冒险岛游戏的代码…

    Java 2023年5月23日
    00
  • java中Class类的基础知识点及实例

    Java中Class类的基础知识点及实例 Class类的概念 Class 类是 Java 中用于描述类类型的类,它是所有类、接口、数组在内存中的一个表示。Class 对象是在类被加载的时候创建的,它保存了类的相关信息,例如类的名称、类的成员变量、类的方法等。 通过 Class 对象,我们可以对类进行一些操作,例如创建该类的实例、获取它所包含的方法以及构造函数…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部