Maven中的Meta配置文件

时间:2010-02-19 14:42:22

标签: maven-2 profile

我正在寻找一种方法来创建仅在Maven中激活子配置文件的元配置文件。我们来看一个非常具体的例子。我有以下资料:

  • “服务器的JBoss”
  • “服务器的Tomcat”
  • “数据库HSQL”
  • “数据库oracle的”

要构建项目,您必须为服务器选择一个配置文件,为数据库选择一个配置文件。我想创建两个“元配置文件”:

  • “dev”=> “服务器的Tomcat”, “数据库HSQL”
  • “prod”=> “服务器的JBoss”, “数据库oracle的”

第一个想法是通过属性激活子配置文件:

<profile>
   <id>database-oracle</id>
   <activation>
     <property>
       <name>prod</name>
     </property>
   </activation>
</profile>

但是这样,我无法在元配置文件之间共享子配置文件。例如,我希望我的配置文件“database-oracle”由“pre-prod”和“prod”元配置文件激活。

注意:我的子配置文件只包含属性。它们用于过滤资源和子poms。这就是为什么我认为可以为这种特殊情况提供解决方案。

对我来说理想的情况是将它们外部化在外部属性文件中,但一次只能出现一个问题;)

2 个答案:

答案 0 :(得分:6)

无法激活其他配置文件中的配置文件(已在此previous question中讨论过)。您的第一个想法,使用相同的属性来激活不同的配置文件,是您可以实现的最好的事情,但确实有局限性。

答案 1 :(得分:2)

您是否尝试过使用maven-properties-plugin的解决方案?讨论了一些可能性in this questionhere