maven打包时有test单元测试的项目一直执行项目问题

Posted 敲代码的小小酥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven打包时有test单元测试的项目一直执行项目问题相关的知识,希望对你有一定的参考价值。

问题出现

在一次SpringBoot项目打包时,当执行package命令时,直接启动项目,开始运行了,而没有进行打包操作。控制台显示是走了test里的@Test单元测试,启动了项目,导致项目一直运行,而没有打包。把启动类删除之后,再执行package命令,就可以正常打包了。

问题解决

当时不知道原因,所以就把单元测试类删除了,进行的打包。今天偶然的看到了这个问题的解决方案。

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

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

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

因为我的项目是SpringBoot项目,在做单元测试时,要加载启动类的,所以maven在打包的同时就执行启动类了,导致项目开始运行。加上上面的两个参数再打包,就可以解决了。

以上是关于maven打包时有test单元测试的项目一直执行项目问题的主要内容,如果未能解决你的问题,请参考以下文章

maven项目打包和编译跳过单元测试和javadoc

maven的一些命令

maven的一些命令

Maven 跳过测试打包

Java Maven打包总结(Jenkins多模块编译部署)

eclipse整合maven打包的时候跳过测试