我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?
当前回答
进行maven构建和跳过测试的一个简写是:
mvn 全新安装 -DskipTests
其他回答
如果你不想设置命令行参数,你可以把这个插件配置添加到你的pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
您可以使用任何maven目标,如包/清洁安装
解决方案:1(包目标)
mvn package -Dmaven.test.skip
mvn package -Dmaven.test.skip=true
mvn package -DskipTests
解决方案:2(清洁安装目标)
mvn clean install -Dmaven.test.skip
mvn clean install -Dmaven.test.skip=true
mvn clean install -DskipTests
解决方案:3(在pom.xml文件中)
您可以在pom文件中使用maven-跳过-测试,而无需提供 DskipTests、dmarvin .test.skip等属性
Pom.xml
<properties>
<java.version>1.8</java.version>
<maven.test.skip>true</maven.test.skip>
</properties>
以后可以使用maven命令:mvn clean安装/mvn包
参考:https://www.baeldung.com/maven-skipping-tests
测试应该总是在包之前运行[1]。如果您需要关闭测试,那么您做错了什么。换句话说,你在试图解决错误的问题。找出你真正的问题所在,然后提出这个问题。听起来像是数据库相关的。
当您需要快速生成用于本地开发使用的工件时,您可能会跳过测试,但一般来说,创建工件应该始终遵循成功的测试运行。
下面两个命令是最有用的
mvn clean package -Dmaven.test.skip=true
mvn clean package -DskipTests
谢谢
对于不感染maven测试的maven包:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap