Maven中的Meta配置文件

nic*_*laj 4 profile maven-2

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

  • "服务器JBoss的"
  • "服务器雄猫"
  • "数据库HSQL"
  • "数据库的Oracle"

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

  • "dev"=>"server-tomcat","database-hsql"
  • "prod"=>"server-jboss","database-oracle"

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

<profile>
   <id>database-oracle</id>
   <activation>
     <property>
       <name>prod</name>
     </property>
   </activation>
</profile>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Pas*_*ent 6

不可能从另一个配置文件激活配置文件(这已在前一个问题中讨论).您的第一个想法,使用相同的属性来激活不同的配置文件,是您可以实现的最好的事情,但确实有局限性.