HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

          知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

            BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks

          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)VCaused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)

          網上的說法真是良莠不齊,最終找個能解決問題的方法(折騰我一下午,快瘋了)

          原因:

          在使用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存在類上的沖突!!!
          使用其中之一或兩者都使用,可能會出現如下錯誤:
          java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
          java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
          java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

           

          解決方法

          1.去掉類路徑上的關于Hibernate的3個lib
          asm.jar
          asm-attrs.jar
          cglib-2.1.2.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

          自己的一個小測試: (運行環境:apache-tomcat-5.5.15 + .MyEclipse_5.5GA_E3.2.2 )

          整合ssh項目中, 在 Tomcat 部署的環境中 D:\tomcat\webapps\my\WEB-INF\lib 發生了點異常:同時有
          asm.jar、asm-attrs.jar、asm-2.2.3.jar 、 asm-commons-2.2.3.jar
          asm-util-2.2.3.jar、 cglib-nodep-2.1_3.jar
          在啟動tomcat中不會出現異常信息。(我想asm-2.2.3jar可能在一定程度上作了改進。)

          當在D:\tomcat\webapps\my\WEB-INF\lib 下加入 cglib-2.1.3.jar
          會報上面的java.lang.NoSuchMethodError:
          org.objectweb.asm.ClassVisitor.visit錯誤信息。
          說明cglib-2.1.3.jar與其它包發生了沖突
          刪除cglib-2.1.3.jar問題解決!


          </script>

          posted on 2011-07-25 17:14 helloworld2008 閱讀(292) 評論(0)  編輯  收藏 所屬分類: java - hibernatejavajava - spring
          主站蜘蛛池模板: 黔江区| 平利县| 信丰县| 循化| 南木林县| 保山市| 慈溪市| 邛崃市| 万全县| 富蕴县| 塘沽区| 健康| 玉龙| 观塘区| 班戈县| 乐陵市| 新密市| 秦皇岛市| 永年县| 赤水市| 汾西县| 慈利县| 桃园县| 马山县| 台州市| 丹东市| 芜湖市| 嘉禾县| 东安县| 普安县| 渭南市| 邢台市| 英吉沙县| 固安县| 德惠市| 阳高县| SHOW| 邻水| 宁津县| 大港区| 砚山县|