我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?
当前回答
回答一个老生常谈的问题。如果你想避免一直传递命令行参数,你可以在pom.xml中添加这个:
<properties>
<skipTests>true</skipTests>
</properties>
其他回答
测试应该总是在包之前运行[1]。如果您需要关闭测试,那么您做错了什么。换句话说,你在试图解决错误的问题。找出你真正的问题所在,然后提出这个问题。听起来像是数据库相关的。
当您需要快速生成用于本地开发使用的工件时,您可能会跳过测试,但一般来说,创建工件应该始终遵循成功的测试运行。
如果你在Windows Powershell中尝试这个,你会得到这个错误:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
这样做的原因是,在Powershell中“-”有特殊的含义,它会导致maven的问题。
解决方案是在它前面加上一个反撇号('),就像这样..
mvn `-Dmaven.test.skip=true install
参考:http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
你只需要提供
-Dmaven.test.skip
你不再需要append =true。
对于不感染maven测试的maven包:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
运行maven
mvn package -Dmaven.test.skip
推荐文章
- 为什么“System.out。”println“工作在Android?
- 在Java中什么时候使用可变参数?
- Mockito的argumentCaptor的例子
- 我如何告诉Spring Boot哪个主类用于可执行jar?
- 如何将Java8流的元素添加到现有的列表中
- 在Java 8中是否可以转换流?
- 不区分大小写的字符串作为HashMap键
- 什么是maven中的“pom”打包?
- 在Java中创建一个自定义事件
- 创建正则表达式匹配数组
- 我如何在Java中初始化一个全零的数组列表?
- 主体、使用者和主体之间的意义和区别是什么?
- 将字节转换为十六进制
- HashSet和HashMap的区别?
- 我如何有效地解析HTML与Java?