我正在尝试将应用程序的配置文件与其战争分开。我想将所有属性文件保存在磁盘上的目录中。然后,战争中唯一需要的属性就是配置目录的路径(假设它在一个名为 的文件中config.properties
):
config.dir = /home/me/config
现在在 spring 配置中,我想加载这个文件(以便我知道其他文件在哪里),然后是外部文件:
<bean id="propertySourcesPlaceholderConfigurer"
class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:META-INF/config.properties</value>
<value>${config.dir}/other.properties</value>
</list>
</property>
</bean>
但这不起作用,占位符未解决:
java.io.FileNotFoundException: class path resource [${config.dir}/config.properties] cannot be opened because it does not exist
我还尝试使用单独的 bean 类型PropertySourcesPlaceholderConfigurer
- 它没有多大帮助。
你知道我怎么能做到这一点吗?