3

我正在尝试使用我正在部署的盒子上的本地属性文件覆盖在我的 war 文件中找到的默认值。

<context:property-placeholder
  location="classpath*:*.properties, file:/var/myfolder/local.properties"
  ignore-resource-not-found="true"
  ignore-unresolvable="true" />

我已经看到这可以通过提供一个文件作为第二个位置(逗号分隔)来实现。不幸的是,它似乎没有覆盖属性。

我曾尝试使用属性定义 bean 和设置位置,但这也不起作用。

4

2 回答 2

11

一种方法是将它们分成两部分并使用顺序

<context:property-placeholder
  location="classpath*:*.properties"
  ignore-resource-not-found="true"
  ignore-unresolvable="true"
  order ="0" />

<context:property-placeholder
  location="file:/var/myfolder/local.properties"
  ignore-resource-not-found="true"
  ignore-unresolvable="true"
  order="-1"/>

最低顺序优先

于 2012-07-25T08:15:36.067 回答
2

发现了问题。出于某种原因,系统中有 2 个应用程序上下文。我需要调查这是否有合理的原因。一旦我将属性文件添加到其他应用程序上下文中,它就起作用了。

谢谢你的帮助!

于 2012-07-25T09:20:06.563 回答