Maven 中的元配置文件
Posted
技术标签:
【中文标题】Maven 中的元配置文件【英文标题】:Meta-profiles in Maven 【发布时间】: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。这就是为什么我认为可以针对这种特殊情况提供解决方案。
对我来说理想的情况是将它们外部化到外部属性文件中,但一次一个问题;)
【问题讨论】:
其实这个问题听上去真像是***.com/questions/2246033/…的骗子。如果您认为这是一个不同的问题,请确认。 是的,我浏览了这些问题,但我认为我的情况可能有一些技巧。我的子配置文件只是我想要聚合的一组属性。可能是我的问题的标题有点雄心勃勃;) 【参考方案1】:无法从另一个配置文件激活配置文件(这已在此previous question 中讨论过)。您的第一个想法是使用相同的属性来激活不同的配置文件,这是您可以实现的最佳方案,但确实存在局限性。
【讨论】:
在这种情况下,是否有一个技巧可以使配置文件由多个属性激活?我看到你可以使用 jdk 版本的范围,例如,可能有一些隐藏的语法,比如您是否尝试过使用 maven-properties-plugin 的解决方案?讨论了一些可能性in this question 和here。
【讨论】:
是的,我试过了,它看起来是个不错的解决方案。不幸的是,我无法让它正常工作:我在 POM 中加载了属性文件,它对于资源过滤效果很好,但不适用于直接在 POM 中使用它们。以上是关于Maven 中的元配置文件的主要内容,如果未能解决你的问题,请参考以下文章
4000元配置: 机箱:4核4G 1G最好128位显存 1T盘; 21.5显示器, 键鼠; AMD和INTEL两种方案。