Maven2:多重继承或配置文件选择



我有一个带有许多子模块的Master/Child-pom项目。对于一些子模块,我有一系列只有它们需要承担的任务,基本上是读取属性文件来配置jboss部署位置。

目前,我已经将构建部分复制到一些POM中,现在这开始敲响警钟。我真的应该写一次并多次使用它。

这使我走上了一条哲学之路。

a) 我相信我可以在主POM中创建一个概要文件,并且在运行子POM时启用该概要文件,从而使用父POM中定义的功能。这将保留当前结构中的1个父级:多个子级。这也提出了一个问题,我真的可以在子POM中激活该配置文件吗?这样,在子对象上进行构建的人就不必使用-P命令行选项了?

b) 我可以将现有的父/主POM更改为祖父母,并将主POM继承为新的父POM,将属性reading/jboss部署设施添加到这个新的父。需要此功能的子POM将从新的Parent继承,给我祖父-父亲-儿子的继承权。这意味着,进行构建的人不需要以另一个级别的忠诚为代价记住命令行。

问题是,哪种方法是"maven方式"?

遗憾的是,Maven不支持选项a)。我有一个类似的情况需要解决,并尝试在父位中定义子启用配置文件,但发现它不起作用;StackOverflow中其他位置的详细信息。

我不知道是否有官方的最佳实践,因为我以前狩猎时没有找到。我使用了祖父母/父母/子女POM和<pluginManagement>配置的组合。

我会先在你父母的POM中试用<pluginManagement>。如果这不能完全满足需求,那么额外的POM水平可能会起作用。祝你好运

最新更新