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

时间:2012-09-20 15:41:39

标签: maven maven-2

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

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

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

a)我相信我可以在主POM中创建一个配置文件,当运行子POM时,启用此配置文件,从而使用父POM中定义的功能。这使当前结构保持在1父母的位置:许多孩子。它还提出了一个问题,我是否可以在子POM中实际激活该配置文件,以便在子项上进行构建的人不必使用-P命令行选项?

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

问题是,哪种方法是“maven方式”?

1 个答案:

答案 0 :(得分:1)

不幸的是,Maven不支持选项a)。我有一个类似的情况要解决并尝试了child-enable-profile-in-parent位,但发现它不起作用; details elsewhere in StackOverflow

我不知道是否有官方最佳实践,因为我之前没有找到一个。我使用祖父母/父母/子女POM和<pluginManagement> configuration的组合。

我会首先在您的父POM中尝试<pluginManagement>。如果这不能满足需要,额外的POM级别可能会起作用。祝你好运!