欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

整合SSH java.lang.ClassCastException: xxx_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

程序员文章站 2022-06-18 11:17:36
...

问题描述:
Maven 整合 SSH 时,出现如下错误:


java.lang.ClassCastException: com.markliu.sshintegration.entities.Department_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
......

发现是类型转换异常,Department_$$_javassist_0代理类不能转换成 javassist.util.proxy.Proxy类型,最先想到的原因可能是包之间的冲突,打开 pom.xml 文件的 Dependency Hierachy 视图:
整合SSH java.lang.ClassCastException: xxx_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

  发现:hibernate-Core 和 Struts2-Core 中都依赖 javassist.xx.jar,但是版本不同,所以引起冲突!
**

解决方案

**

  删除 Struts2-Core 中版本较低的 javassist.3.11.0.GA..jar:
  

<!-- struts2-core -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>${struts2.version}</version>
    <exclusions>
        <exclusion>
            <artifactId>javassist</artifactId>
            <groupId>javassist</groupId>
        </exclusion>
    </exclusions>
</dependency>