2011-10-21 15:39 JBoss5.1.0 GA - 部署项目类库兼容和类库冲突问题解决方法

在Tomcat6下开发,但将项目部署至JBoss5下运行的时候,碰到了一系列问题:
环境JBoss-5.1.0 GA
Spring-2.5.6 / Spring-3.0.5

一、org.springframework.beans.factory.BeanDefinitionStoreException: I/O failure during classpath scanning; nested exception is java.util.zip.ZipException: error in opening zip file项目开始基于Spring-2.5.6,部署至JBoss5时,报了如下错误信息:
2011-03-30 19:54:19,595 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/testportal]] (main) Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: I/O failure during classpath scanning; nested exception is



原因/解决方法:
解决的方法有两种:
1、将使用Spring-2.5.6的项目部署至JBoss4。
2、将部署至JBoss5的项目中的Sping-2.5.6升级至Spring-3.x。(我使用了这种方法)

二、 javax.servlet.ServletException: OncePerRequestFilter just supports HTTP requests将Spring升级后,再重新部署,Spring兼容的问题解决,但又来了新的问题,报错信息如下:
09:50:03,041 ERROR [[default]] Servlet.service() for servlet default threw exception
javax.servlet.ServletException: OncePerRequestFilter just supports HTTP requests
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)


原因/解决方法:
原因:项目中使用@Resource引用Spring对象,@Resource是JSR-299规范的一部分,因此使用该注解代码在JBoss中的运行时,不再由Spring管理,而是由JBoss管理。

解决方法:将@Resource 改用 @Autowired 和 @Qualifier("") 代替




http://aofengblog.blog.163.com/blog/static/631702120113674626533/

你可能感兴趣的:(JBOSS5.1)