SSH整合完美解决$$_javassist_4 cannot be cast to javassist.util.proxy.Proxy

来源:互联网 发布:如何淘宝刷好评赚钱 编辑:程序博客网 时间:2024/06/06 09:29

原因

昨天遇到了这个javassist这个错误,网上一查是struts2和hibernate的javassist.jar冲突导致的,按照网上去除还是报错。

解决办法

自己摸索了一遍原来光去除struts2-core的依赖没用,要把所有strust相关的jar包引用去除对javassist的依赖。

比如我引用了org.apache.struts:struts2-core:2.3.16.3、org.apache.struts:struts2-spring-plugin:2.3.16.3和org.apache.struts:struts2-json-plugin:2.3.24.3三个strust的jar包

在gradle依赖中就应该把三个jar包都去除对javassist的依赖!maven的请自测!(如果去除了对javassist的依赖还是报错,请看最后一点)

compile('org.apache.struts:struts2-core:2.3.16.3'){        exclude group:'javassist',module:'javassist'    },    compile('org.apache.struts:struts2-spring-plugin:2.3.16.3'){        exclude group:'javassist',module:'javassist'    },    compile('org.apache.struts:struts2-json-plugin:2.3.24.3'){        exclude group:'javassist',module:'javassist'    }

使用OpenSessionInView

如果还是报错,请在web.xml中添加下面的代码,如果还是不行,就爱莫能助了,注意我的hibernate是4.3的。

<!-- 定义Spring保持session的Filter 默认的去找bean的id为sessionfactory的bean-->       <filter>        <filter-name>openSessionInView</filter-name>        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>    </filter>        <filter-mapping>        <filter-name>openSessionInView</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>
阅读全文
0 0
原创粉丝点击