我目前正在从事一个包含大约十几个子项目的项目。
每个子项目都包含一个单独构建依赖关系的 POM。
上游子项目包含下游子项目作为依赖项,就像您包含对 log4j 之类的依赖项一样:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
我们将这些依赖项保存在本地 Nexus 存储库中。
这似乎对我们有用。
然而,经过 11 个月的开发,我今天决定重新审视这十几个 POM 文件,并考虑到重构。
我随后发现了<parent>
and<module>
标签,并开始质疑我的 Maven 项目策略是否“正确”。
重构我的 POM 以将最上层的 POM(Web WAR 项目)更改为列出模块而不是上面的一系列依赖项的父 POM 会有什么好处?
我希望这十几个子项目中的大多数都拥有自己的生命周期,这样它们就可以在公司的 Nexus 存储库中作为其他公司项目的代码库使用。
例如,是否使用多模块方法来分解和组织项目子组件的组合?或者是否会使用一个模块来表示项目的整个组件?