【发布时间】:2016-05-21 21:27:33
【问题描述】:
问题
我有一个 maven 项目,其结构与以下项目类似:
(为便于说明而简化)
--parent
|-- child A (inherits from parent)
|-- child B (inherits from parent)
|-- child B1 (inherits from B)
|-- child B2 (inherits from B)
|-- child B3 (inherits from B)
只有子 B1 和 B2 必须使用包含一些额外构建内容的特定配置文件来构建。因此,配置文件已在模块 B 中指定。
逻辑上模块属于模块 B 并且另外继承一些依赖项等(聚合 + 继承)。
(想象一下 B = Frontend , B1 = UI, B2 = 主题, B3 = 其他)
问题
- 是否有可能仍然使用父级的完整版本 pom 并仅在正确的情况下激活相应的配置文件 孩子们? (将是我最喜欢的解决方案)
- 或者我是否需要使用高级反应堆进行单独构建 选项(-pl 等)?
- 或者对于这种情况有完全其他的方法吗?
编辑
编辑问题被标识为duplicate: 问题是相应问题中提到的解决方案不起作用。
如果我使用属性激活子配置文件,它也会为 模块 B(父级)和 ALL 子级激活。
我只希望它对孩子 B1 和 B2 有效。
【问题讨论】:
-
同意@A.DiMatteo。链接的问题回答了这个问题。
-
配置文件添加的这些额外构建内容是什么?更多的插件执行?您至少可以提及涉及的插件吗?有一个可能的解决方案,但我需要更多细节:)
-
如果我添加所有细节,它会爆炸这个问题,这就是我试图抽象它的原因。还有很多其他插件执行,包括目标包中的不同附加内容等。
标签: maven pom.xml multi-module maven-profiles