我需要为我们的春季项目进行开发和生产设置.我知道您可以使用弹簧配置文件,但这不是我们可以做的事情.
我想要做的是在开发环境中放置一个test-application.properties文件,并在生产中放置一个prod-application.properties文件.在tomcat上下文定义中,我们发送了以下内容:
aram>
aram-name>properties_location
aram-name>
aram-value>file:C:\Users\Bill\test-application.properties
aram-value>
aram>
我们可以为生产服务器更改值.在spring配置中我们有这样的东西:
figurer">
noreUnresolvablePlaceholders" value="false" />
但我们不断收到如下错误:
org.springframework.beans.factory.BeanInitializationException: Could
not load properties; nested exception is
java.io.FileNotFoundException: Could not open ServletContext resource
[/${properties_location}]
关于如何解决的任何想法?
最佳答案
PropertyPlaceholder的一个功能是您可以定义多个资源位置.
例如,您可以定义your-production-config.properties以及文件:C:/ Users / ${user.name} /test-application.properties
例如,您可以定义your-production-config.properties以及文件:C:/ Users / ${user.name} /test-application.properties
fig.PropertyPlaceholderConfigurer">
sspath:your-production-config.propertiesnoreUnresolvablePlaceholders" value="true"/>
noreResourceNotFound" value="true"/>
stemPropertiesModeName" value="SYstem_PROPERTIES_MODE_OVERRIDE"/>
对于生产,你需要将prod配置放在某个地方的classpath中(确切地说,确切地说,这并不重要,只是类路径) – 对于本地环境,你可以使用像这个文件的对应:C:/ Users / ${user.name} /test-application.properties