在 web-app 中找不到 Spring ContextLoaderListener 但在系统类路径中找到
Posted
技术标签:
【中文标题】在 web-app 中找不到 Spring ContextLoaderListener 但在系统类路径中找到【英文标题】:Spring's ContentLoaderListener not found in the web-app but was found on the system classpath 【发布时间】:2010-07-18 14:27:41 【问题描述】:我正在使用 Spring 构建一个 GWT 应用程序。我在将依赖项注入到我的一个 Servlet 时遇到了一些问题,因此我试图缩小可能出现问题的范围。
首先,当我的应用启动时,我得到:
[WARN] 服务器类 'org.springframework.web.context.ContextLoaderListener' 在网络应用程序中找不到,但是 在系统类路径中找到 [警告] 添加类路径条目 '文件:/home/macarse/.m2/repository/org/springframework/spring/2.5.6/spring-2.5.6.jar' 到此的网络应用程序类路径 会话有关其他信息,请参阅: 文件:/home/macarse/tpf/eclipse/plugins/com.google.gwt.eclipse.sdkbundle.2.0.4_2.0.4.v201006301309/gwt-2.0.4/doc/helpInfo/webAppClassPath.html [警告] 服务器类 'org.apache.commons.collections.map.CaseInsensitiveMap' 在网络应用程序中找不到,但是 在系统类路径中找到 [警告] 添加类路径条目 'file:/home/macarse/tpf/eclipse/plugins/com.google.gwt.eclipse.sdkbundle.2.0.4_2.0.4.v201006301309/gwt-2.0.4/gwt-dev.jar' 到网络应用程序类路径这 会话有关其他信息,请参阅: 文件:/home/macarse/tpf/eclipse/plugins/com.google.gwt.eclipse.sdkbundle.2.0.4_2.0.4.v201006301309/gwt-2.0.4/doc/helpInfo/webAppClassPath.html 2010 年 7 月 18 日 11:07:00 org.springframework.web.context.ContextLoader initWebApplicationContext 信息:根 WebApplicationContext:初始化 开始于 2010 年 7 月 18 日上午 11:07:00 org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO:正在刷新 org.springframework.web.context.support.XmlWebApplicationContext@16b904d: 显示名称 [根 Web应用程序上下文];开始升级 [2010 年 7 月 18 日星期日 11:07:00 ART];根 上下文层次结构的 2010 年 7 月 18 日 上午 11:07:00 org.springframework.context.support.AbstractApplicationContext 获得FreshBeanFactory INFO: Bean 应用程序上下文工厂 [org.springframework.web.context.support.XmlWebApplicationContext@16b904d]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1a8dfb3 2010 年 7 月 18 日上午 11:07:01 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons 信息: 预实例化单例 org.springframework.beans.factory.support.DefaultListableBeanFactory@1a8dfb3: 定义bean [];工厂根 层次结构 2010 年 7 月 18 日上午 11:07:01 org.springframework.web.context.ContextLoader 初始化WebApplicationContext
这样好吗?
在我的web.xml
我有:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/META-INF/spring-presentation.xml, classpath*:/META-INF/spring-persistence.xml
</param-value>
</context-param>
有没有办法知道这两个xml是否被加载?
【问题讨论】:
【参考方案1】:扫描您的应用程序启动日志。您应该找到日志,告诉您它以以下格式加载了哪些上下文文件(日志模式可能因您的日志配置而异):
org.springframework.beans.factory.xml.XmlBeanDefinitionReader (315):从 ServletContext 资源加载 XML bean 定义 [/META-INF/spring-presentation.xml]
org.springframework.beans.factory.xml.XmlBeanDefinitionReader (315):从 ServletContext 资源加载 XML bean 定义 [/META-INF/spring-persistence.xml]
【讨论】:
您的回答和***.com/questions/3283884/… 我解决了我的问题。谢谢。以上是关于在 web-app 中找不到 Spring ContextLoaderListener 但在系统类路径中找到的主要内容,如果未能解决你的问题,请参考以下文章
在 applicationContext.xml 中找不到 Spring 配置资源
Spring Oauth2:在 SecurityContext 中找不到身份验证对象
在 SecurityContext 中找不到 Authentication 对象 - Spring 5
Spring 在 JUnit 测试中找不到 DataSource Bean