对于 maven 父子关系, 我遇到了以下“模式”:http: //yuml.me/3f8dd366
在这个例子中,我们有一个带有 2 个子模块的模块。该模块有一个父 pom “构建模块的父级”,它知道两个子模块是子模块。
子模块从来不知道这个父级认识他们,他们认为他们的父级是名为“依赖管理的父级”的那个。它具有通用配置,如依赖管理、插件配置、通用属性等。
我的问题:
这是一个“好”的模式吗?意思是它有优点/缺点,因为孩子<->父母关系的看似更直观的模式
对于 maven 父子关系, 我遇到了以下“模式”:http: //yuml.me/3f8dd366
在这个例子中,我们有一个带有 2 个子模块的模块。该模块有一个父 pom “构建模块的父级”,它知道两个子模块是子模块。
子模块从来不知道这个父级认识他们,他们认为他们的父级是名为“依赖管理的父级”的那个。它具有通用配置,如依赖管理、插件配置、通用属性等。
我的问题:
这是一个“好”的模式吗?意思是它有优点/缺点,因为孩子<->父母关系的看似更直观的模式
一件有趣的事情是聚合器 pom。
这是一个按模块对项目进行分组的 pom,没有“父子”关系。聚合器 pom 没有依赖项管理。它只管理构建。
同时拥有父 pom 和聚合器 pom 是 maven 的一个非常强大的特性。
您可以在此处找到更多信息。
这个 maven 页面还对如何为复杂项目设置 pom 提供了宝贵的见解。
嗯...我想我不同意你照片上的条款。这是我的看法:
这种组织模块的方式可能会让很多开发人员感到困惑,但这是一种合法的做事方式。
无论如何,我不推荐这种方法,因为它令人困惑。但有时,他们也别无选择。
什么时候使用这个配置?
一个(或多个)子模块已经有一个父模块(即在另一个项目中开发但您需要重新构建它)。请注意,<module>
多模块项目中的条目是相对路径,因此您可以使用以下内容:
<modules>
<module>../../somedir/othermodule</module>
...
</modules>
如果可能,我建议将多模块也用作父模块,因为:
<modules>
的<parent>
部分(无需使用丑陋的相对路径来指定父模块或子模块)拥有一个公司范围内的配置 pom 实际上很好,它不关心它的孩子,并且包含属性,dependecyManagement,存储库,pluginManagement 等所有东西都将继承的东西
也许这可以帮助你:公司范围的父母 pom