我有一个网络应用程序,可以从许多位置加载应用程序上下文文件。
其中一个应用程序上下文文件位于.jar文件中(此jar存在于WEB-INF / lib中)。
此应用程序上下文有一个这样的条目:
<context:property-placeholder location="classpath:META-INF/spring/default.app.properties" ignore-unresolvable="true" ignore-resource-not-found="true"/>
但是找不到default.app.properties。我一直都有错误 无法解析占位符'db.driver' - 在default.app.properties中定义并在应用程序上下文中通过$ {db.driver}
引用的内容几乎就像财产占位符被忽略一样。我试着给我的default.app.properties提供绝对路径..即使这样也行不通。
答案 0 :(得分:1)
你解决了这个问题吗?我最近也遇到过同样的问题。我的解决方案很简单,不太可能如此,但在我的情况下,有两种不同类型的占位符。一种类型使用
配置 <context:property-placeholder/>
另一种类型被配置为ServletContextPropertyPlaceholderConfigurer类型的bean。删除一种占位符解决了这个问题。
答案 1 :(得分:1)
因为Spring只存在一个&lt; context:property-placeholder /&gt;,当Spring找到&lt; context:property-placeholder /&gt;时,它将忽略遗骸。所以把所有属性都放在一个地方。