我正在尝试使用Spring配置在JBoss中部署的Web应用程序。我已将此添加到web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
但是,我的配置基于'默认'JBoss配置,包括jmx-console.war之类的战争,现在这些配置无法部署错误:
[ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
那么我如何告诉ContextLoaderListener忽略这个错误,或者至少绕过这些特定的战争,同时仍然试图处理我自己的战争呢?
答案 0 :(得分:3)
您必须在/WEB-INF/applicationContext.xml
处拥有应用程序上下文。由于这是特定于应用程序的,因此应针对您的应用程序而不是其他应用程序进行配置。也就是说,不要在应用程序服务器级别映射ContextLoaderListener
。
您可以使用以下方式设置替代位置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mylocation/spring.xml
</param-value>
</context-param>
但是你不能(而且你不能)忽略它。