2008年9月5日

          ASM沖突的問題

          原文:http://www.cnblogs.com/xuwenyan/archive/2008/07/14/1242487.html
          網(wǎng)上找了很多,只有這個才行
          你在加的時候按這個順序來加Struts--Spring--Hibernate,有重復(fù)包的時候不要替換就沒問題了
          方法一:
          在使用Spring的AOP編程時,會用到這幾個lib:
          asm-2.2.2.jar
          asm-commons-2.2.2.jar
          asm-util-2.2.2.jar

          Hibernate使用如果lib:
          asm.jar
          asm-attrs.jar


          其中asm-2.2.2.jar與asm.jar存在類上的沖突!!!
          使用其中之一或兩者都使用,可能會出現(xiàn)如下錯誤:
          java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
          java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
          java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。


          解決辦法是:
          1.去掉類路徑上的關(guān)于Hibernate的3個lib
          asm.jar
          asm-attrs.jar
          cglib-2.1.3.jar

          2.加入Spring中的以下4個lib
          asm-2.2.2.jar
          asm-commons-2.2.2.jar
          asm-util-2.2.2.jar
          cglib-nodep-2.1_3.jar





          方法二:
          在使用Spring的AOP編程時,會用到這幾個lib:
          asm-2.2.2.jar
          asm-commons-2.2.2.jar
          asm-util-2.2.2.jar

          Hibernate使用如果lib:
          asm.jarasm-attrs.jar
          其中asm-2.2.2.jar與asm.jar存在類上的沖突。
          使用其中之一或兩者都使用,可能會出現(xiàn)如下錯誤: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitorjava.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitorjava.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

          下面是解決方法手工編輯你的.classpath文件,比如我這個(只有部分內(nèi)容)

          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_CORE"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_DAO"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_AOP"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_WEB"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_1_CORE"/>
          <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.0.4-bin.jar"/>

          將最后2行hibernate和mysql驅(qū)動,手工復(fù)制到springframework的lib前面。
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_1_CORE"/>
          <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.0.4-bin.jar"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_CORE"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_DAO"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_AOP"/>
          <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_WEB"/>

          現(xiàn)在你再試試啟動,應(yīng)該不會報錯了。

          我這里用了myeclipse的jar包。如果你是自定義用戶庫jar包,那么只要保證spring的jar包在hibernate之后加載,項目在部署的時候spring的jar包就會覆蓋掉hibernate的jar包。

          posted @ 2008-09-05 14:33 藍(lán)槐 閱讀(115) | 評論 (0)編輯 收藏

          僅列出標(biāo)題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          搜索

          最新評論

          主站蜘蛛池模板: 禹城市| 白玉县| 松江区| 丘北县| 新兴县| 上犹县| 高邑县| 淮阳县| 东海县| 江油市| 肥乡县| 登封市| 聂拉木县| 怀柔区| 吉水县| 鹤峰县| 富平县| 新昌县| 佳木斯市| 河源市| 青海省| 巴彦淖尔市| 四川省| 水富县| 德昌县| 醴陵市| 常熟市| 东台市| 木里| 轮台县| 德昌县| 涡阳县| 葵青区| 陆川县| 安泽县| 屏山县| 饶河县| 安阳市| 南投市| 白山市| 灵川县|