【发布时间】:2011-01-18 19:36:59
【问题描述】:
我正在寻找一种方法来创建仅在 Maven 中激活子配置文件的元配置文件。让我们举一个非常具体的例子。我有以下个人资料:
- “服务器-jboss”
- “服务器-tomcat”
- “数据库-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>
但是这样,我不能在元配置文件之间共享子配置文件。例如,我希望我的配置文件“database-oracle”同时被“pre-prod”和“prod”元配置文件激活。
注意:我的子配置文件只包含属性。它们用于过滤资源和子 pom。这就是为什么我认为可以针对这种特殊情况提供解决方案。
对我来说理想的情况是将它们外部化到外部属性文件中,但一次一个问题;)
【问题讨论】:
-
其实这个问题听上去真像是stackoverflow.com/questions/2246033/…的骗子。如果您认为这是一个不同的问题,请确认。
-
是的,我浏览了这些问题,但我认为我的情况可能有一些技巧。我的子配置文件只是我想要聚合的一组属性。可能是我的问题的标题有点雄心勃勃;)