Maven 配置文件属性不会覆盖弹簧配置中的值

Posted

技术标签:

【中文标题】Maven 配置文件属性不会覆盖弹簧配置中的值【英文标题】:Maven profile properties not overriding values in springs configurations 【发布时间】:2013-02-22 07:47:23 【问题描述】:

我对 Maven 配置文件有一个非常奇怪的问题。

在 pom.xml 我们有一些属性的配置文件。我们在 pom.xml 和 spring 配置中使用这些属性。使用特定配置文件构建时,仅 pom.xml 中的属性会受到影响,在 spring 配置中存在默认值。不知何故,配置文件似乎没有被激活,尽管 pom.xml 中的属性已更改。

当我像这样激活配置文件默认值时:

<activation>
    <activeByDefault>true</activeByDefault>
</activation>

所有属性都按原样更改。

我在命令行中运行 maven,我使用的是 Ubuntu 12.04 存储库中的 3.0.4 版本。我还使用独立的 3.0.5 版本进行了测试。我使用的命令:

mvn clean package -P profile-id

如果这还不够奇怪,我只是在这个项目中遇到这个问题的人,所以它必须与我的电脑有关,我只是不知道在哪里看。

你知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

这似乎是 maven-resources-plugin 版本 2.5 和 2.6 中的错误。我们通过将版本指定为 2.4 来解决此问题。

【讨论】:

以上是关于Maven 配置文件属性不会覆盖弹簧配置中的值的主要内容,如果未能解决你的问题,请参考以下文章

覆盖多个弹簧活动配置文件的属性值

如何强制弹簧只有一个活动配置文件?

使用 maven 构建时选择弹簧配置文件

当特定的弹簧配置文件处于活动状态时,如何防止运行测试?

仅在设置了特定的弹簧配置文件时才运行集成测试

在不丢失可配置端点的情况下覆盖弹簧安全执行器