當我的彈簧加載完成時,它表示在類路徑中找不到applicationContext.xml
,如下圖所示,拋出FileNotFoundException
。請幫我解決這個問題。ContextLoaderListener在彈簧加載時出現問題
我web.xml
內容如下,
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Context.xml</param-value>
</context-param>
<servlet>
<servlet-name>flex</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/web-spring-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet-mapping>
<servlet-name>flex</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
</web-app>
所引發的異常情況如下,
嚴重:異常發送上下文 初始化事件監聽器類 org.springframework實例 .java.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: IOException解析XML文檔從 類路徑資源 [applicationContext.xml];嵌套0例外是 java.io.FileNotFoundException:類 路徑資源[applicationContext.xml中] 不能打開,因爲它不存在 所致: java.io.FileNotFoundException:類 路徑資源[applicationContext.xml中] 不能打開,因爲它不 在 org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:135) 存在於 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java: 297) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.load的BeanDefinitions(XmlBeanDefinitionReader.java:280) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131) 在 org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader。的java:147) 在 org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:123) 在 org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:91) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshabl eApplicationContext.java:100) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:298) 在 org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156) 在 org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) 在 org.springframework.web .context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catal ina.core.StandardContext.listenerStart(StandardContext.java:3843) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) 在 org.apache.catalina.core.ContainerBase.addChildInternal( ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase。的java:771) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 在 org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926) 在 有機.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) 在 org.apache.catalina.startup.HostConfig 。開始(HostConfig.java:1149) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport的.java:117) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 在 org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core。 StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java: 578) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(母語 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 在 org.apache.catalina.startup.Bootstrap .main(Bootstrap.java:413) 2009年11月12日4:02:09 PM org.apache.catalina.core.ApplicationContext 日誌
當我不想將任何文件命名爲applicationContext.xml
時,爲什麼它必須查找它?因爲它已經在web.xml
已經明確說明..
-1'ContextLoaderListener'使用(或應該使用) 'contextConfigLocation'被指定爲''',在本例中爲'/ WEB-INF/Context.xml'。雙上下文配置在這裏是故意的。 –
skaffman
2009-11-12 12:29:59
'contextConfigLocation' *被指定爲'context-param',它正好位於文件的頂部。它也被指定爲Servlet的'init-param'。 – skaffman 2009-11-12 14:30:35
skaffman是正確的 - 我錯過了當我最初閱讀它 - 但是我想知道現在如果未知有正確的春天版本 – 2009-11-12 14:52:22