微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Spring加载基于tomcat servlet上下文定义的application.properties

我需要为我们的春季项目进行开发和生产设置.我知道您可以使用弹簧配置文件,但这不是我们可以做的事情.

我想要做的是在开发环境中放置一个test-application.properties文件,并在生产中放置一个prod-application.properties文件.在tomcat上下文定义中,我们发送了以下内容

aram>
        aram-name>properties_locationaram-name>
        aram-value>file:C:\Users\Bill\test-application.propertiesaram-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

    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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐