解決Struts2 與 hibernate 中 javassist 衝突問題

錯誤大體以下html

java.lang.ClassCastException: entity.userInfo_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

解決方法:java

  1. 若爲maven管理的項目,只需在 struts-core依賴中添加下面內容的<exclusions>, 排除struts2中的javassistapache

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

  2. 若爲直接導入方式,直接刪除掉那個低版本的javassist服務器


附:javassist的做用(摘自百度百科)框架

avassist是一個開源的分析、編輯和建立Java字節碼的類庫。是由東京工業大學的數學和計算機科學系的 Shigeru Chiba (千葉 滋)所建立的。它已加入了開放源代碼JBoss 應用服務器項目,經過使用Javassist對字節碼操做爲JBoss實現動態"AOP"框架。
關於java字節碼的處理,目前有不少工具,如bcel,asm。不過這些都須要直接跟虛擬機指令打交道。若是你不想了解虛擬機指令,能夠採用javassist。javassist是jboss的一個子項目,其主要的優勢,在於簡單,並且快速。直接使用java編碼的形式,而不須要了解虛擬機指令,就能動態改變類的結構,或者動態生成類。
相關文章
相關標籤/搜索