gpt4 book ai didi

Maven 跳过测试

转载 作者:行者123 更新时间:2023-12-02 00:36:27 25 4
gpt4 key购买 nike

我正在使用 Maven 2.2.1 并使用此命令来构建我的项目

mvn clean install -Dmaven.test.skip=true

但是,构建失败,表示找不到其中一个 Artifact 。但是,当我使用时:

mvn clean install -DskipTests

一切顺利。

到目前为止,我一直认为这两个命令是等效的。然而,this link似乎表明 -Dmaven.test.skip=true 也会跳过编译测试用例。

但是,这仍然没有向我解释为什么一个命令有效而另一个命令无效。如果有人向我解释一下,我将不胜感激。

最佳答案

正如您所指出的,-Dmaven.test.skip=true 会跳过编译测试。更重要的是,它跳过了构建测试 Artifact 。大型项目的常见做法是在同一项目的模块之间共享测试实用程序和基类。

这是通过让模块需要先前构建的模块的 test-jar 来实现的:

<dependency>
<groupId>org.myproject.mygroup</groupId>
<artifactId>common</artifactId>
<version>1.0</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>

如果指定了-Dmaven.test.skip=true(或简单地-Dmaven.test.skip),则test-jar未构建,任何依赖它们的模块都将构建失败。

相反,当您使用-DskipTests时,Maven不会运行测试,但它会编译它们并构建测试jar,使其可用于后续模块。

关于Maven 跳过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57970326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com