问题描述:
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 视图:

  发现: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>