【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私服仓库
分类:
Maven
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)