gpt4 book ai didi

dependencies - 如果我跳过正在运行的测试,我可以将 Maven 配置为忽略 "test"范围的依赖项吗?

转载 作者:行者123 更新时间:2023-12-04 05:29:03 27 4
gpt4 key购买 nike

我正在使用 Maven 3.2.2。在我的一个子模块中,我有这种依赖性……

    <dependency>
<groupId>org.mainco.subco</groupId>
<artifactId>core</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>

如果我指定“-DskipTests”(或其他一些跳过测试选项),有没有办法让 Maven 在运行我的发布插件时忽略这种依赖关系?这是我的发布插件目标……
-Darguments="-DskipTests -P prod -Dcloudbees" -Dresume=false release:prepare release:perform

我意识到我可以解决构建该依赖项并准备就绪的问题,但是当我不打算运行任何测试时,这个问题专门涉及 Maven 忽略范围为“测试”的依赖项。

谢谢, - 戴夫

最佳答案

在 Maven 开始执行目标之前,它会创建一个构建计划。无论范围如何,它都会遍历所有依赖项。但是,您可以使用由属性触发的配置文件来欺骗它。请注意,配置文件经常用于错误的原因(我注意到 prod-profile,就是这样一个例子:配置不属于工件。这是另一个讨论,并且有足够的线程)。

在这种情况下:

<profile>
<activation>
<property>skipTests</property>
<value>!true<property>
</activation>
<dependencies>
<!-- your test-scoped dependency -->
</dependencies>
</profile>

所以是的,它可以,但最好有这个依赖项可用。如果其他人检查此代码并尝试构建它,默认情况下它会失败,对吗?这不是用户所期望的。

关于dependencies - 如果我跳过正在运行的测试,我可以将 Maven 配置为忽略 "test"范围的依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30108053/

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