我正在寻找一种方法来创建仅在Maven中激活子配置文件的元配置文件。我们来看一个非常具体的例子。我有以下资料:
要构建项目,您必须为服务器选择一个配置文件,为数据库选择一个配置文件。我想创建两个“元配置文件”:
第一个想法是通过属性激活子配置文件:
<profile>
<id>database-oracle</id>
<activation>
<property>
<name>prod</name>
</property>
</activation>
</profile>
但是这样,我无法在元配置文件之间共享子配置文件。例如,我希望我的配置文件“database-oracle”由“pre-prod”和“prod”元配置文件激活。
注意:我的子配置文件只包含属性。它们用于过滤资源和子poms。这就是为什么我认为可以为这种特殊情况提供解决方案。
对我来说理想的情况是将它们外部化在外部属性文件中,但一次只能出现一个问题;)
答案 0 :(得分:6)
无法激活其他配置文件中的配置文件(已在此previous question中讨论过)。您的第一个想法,使用相同的属性来激活不同的配置文件,是您可以实现的最好的事情,但确实有局限性。
答案 1 :(得分:2)
您是否尝试过使用maven-properties-plugin的解决方案?讨论了一些可能性in this question和here。