gpt4 book ai didi

java - Maven Plugin子模块的集成测试

转载 作者:行者123 更新时间:2023-12-01 10:38:22 25 4
gpt4 key购买 nike

我有一个带有多个子模块的 Maven 项目。这些子模块之一,假设子模块 X 依赖于所有其他子模块,因为它是集成了其他所有内容的 Maven 插件。

现在我想在我的父 POM 的 verify 阶段使用这个 Maven 插件,以便在整个项目中真正运行它(有点像吃自己的狗粮)。

不幸的是我遇到了错误:

The projects in the reactor contain a cyclic reference

那么我怎样才能对 Maven 插件子模块进行这样的dogfood集成测试呢?

最佳答案

我会回顾一下聚合和继承:它们确实是 two different Maven 中的概念经常组合使用,但也可以以完全独立的方式使用。

在这种情况下,你的插件子模块肯定被定义为聚合器 pom 中的模块(也就是说,它是一个子模块)。但我还假设插件子模块也将聚合器 pom 作为父 pom(也就是说,聚合器 pom 也是父 pom,这是一种正常的方法,但并不总是必需的)。

后者是必需的吗?您可以继续采用多模块/聚合器方法,而不必将聚合器作为插件子模块的父模块。因此,插件 subModule 仍然是聚合器 pom 的模块,但它不会将聚合器 pom 作为父级,从而将其与聚合器 pom 解耦,从而打破循环依赖关系。

可能的缺点:在聚合器 pom 中,您还定义了插件子模块中也需要的常见内容(依赖项管理、属性)。如果是这种情况,您将需要仅为相关子模块复制/查看这些常见设置。

关于java - Maven Plugin子模块的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34557642/

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