【Maven】-DskipTests和-Dmaven.test.skip=true的区别

前言

  • 项目开发过程中总是会创建一些测试类进行单元测试,但是在使用maven命令对项目打包部署到服务器时,会发现mvn install命令会提示一些测试类运行错误,或者说在部署项目时不需要包含测试类,此时我们就可以在maven命令中添加下面其中一组参数即可实现上述需求


Maven中-DskipTests和-Dmaven.test.skip=true的区别

在使用mvn package 命令进行编译、打包时,Maven会执行 src/test/java 中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests-Dmaven.test.skip=true,这两个参数的主要区别是:

  • 执行测试用例
    • mvn clean package
  • 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下
    • mvn clean package -DskipTests
  • 不执行测试用例,也不编译测试用例类
    • mvn clean package -Dmaven.test.skip=true

Maven这种命令打包所包含的执行阶段

  • mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。

  • mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段.

  • mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

  • package命令完成了项目编译、单元测试、打包功能

  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库

  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

posted @   中国制造  阅读(787)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示