我需要在POM.xml中有一个Parent声明吗?

ant*_*nyh 5 maven

我已将我的项目声明为pom.xml来定义父项,并触发所有包含模块的反应器构建.一切都很好,并按预期工作.它以正确的顺序构建,所有测试都正确运行,并且我获得了预期的输出.

其中一个项目是共享库.我不想在<parent>这里添加声明,所以我没有.一切都还行.

我的问题:我是否需要在任何子项目中添加父项目声明?项目之间建立双向关系的利弊是什么?如果我不添加声明,我会在以后停止工作时更难吗?

重新提到一个问题:为什么要<parent>在模块pom.xml文件中进行配置?

Lan*_*Lan 10

您的问题与Project Inheritance与Project Aggregation之间的区别有关.该<parent>引用定义的继承关系.<modules>父pom.xml中的部分定义聚合.它们是不同的.

如果您没有<parent>模块pom.xml中的配置,它将不会继承父pom.xml配置.因此,假设您在该<dependencyManagement>部分中定义父pom中的依赖项版本,没有父引用的模块pom.xml将不会继承它.或者,如果所有子模块都需要使用公共库,则可以在父pom.xml中定义依赖项.但是,没有父引用的模块pom.xml也不会继承该依赖项.

有关详细信息,请查看项目继承与项目聚合