启动 webApp 时发生“无法解析占位符 KName”异常

Posted

技术标签:

【中文标题】启动 webApp 时发生“无法解析占位符 KName”异常【英文标题】:occur "Could not resolve placeholder KName" exception when start a webApp 【发布时间】:2012-06-05 12:41:05 【问题描述】:

这里有一篇关于 Spring 的博客: http://blog.springsource.org/2011/02/15/spring-3-1-m1-unified-property-management/

它引入了一个新功能:导入标签中的用户占位符。 例如:<import resource="com/bank/service/$customer-config.xml"/>

嗯,我也是 3.1。

然后,当我启动 MYAPP 时,奇迹并没有发生..

这是我的代码: (sourceFolder 中的 config.properties):

kName = P0765

(春天的 xml):

<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">;
    <property name="location" value="classpath:config.properties" >;
</bean>

<import resource="readyData/$KName.xml"/>

:( 什么工作没做?

【问题讨论】:

属性区分大小写。 $KName.xml 中的“K”字符为大写,config.properties 中的“k”字符为小写。 【参考方案1】:

在 import 元素中解析的属性必须设置为 JVM 系统属性或系统环境变量。您在此处链接的博客文章中对此进行了描述。 这是因为合并 Spring 配置文件发生在初始化 bean(PropertyPlaceholderConfigurer 是一个 bean)之前,它可能不会改变,请参阅这个被拒绝的功能请求https://jira.springsource.org/browse/SPR-1358

【讨论】:

以上是关于启动 webApp 时发生“无法解析占位符 KName”异常的主要内容,如果未能解决你的问题,请参考以下文章

Azure WebApp Asp.NET Core 2 错误:启动应用程序时出错

iPhone Webapp启动画面白色空间

服务器启动时Webapp的web.xml中配置的加载顺序

当几乎相同的应用程序在同一个 Tomcat 实例中启动时,为啥 Tomcat webapp 会失败?

tomcat启动时非常慢,启动时 一直卡在Root WebApplicationContext: initialization completed

如何从 Windows .bat 启动 Tomcat webapp