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
          主站蜘蛛池模板: 突泉县| 五莲县| 灌南县| 图片| 驻马店市| 班戈县| 融水| 洛隆县| 巧家县| 株洲市| 华宁县| 华安县| 乐都县| 万州区| 临猗县| 汕头市| 辽中县| 封开县| 临城县| 仙居县| 静海县| 个旧市| 历史| 靖安县| 轮台县| 巴马| 延吉市| 全南县| 鹤峰县| 凤山县| 淮滨县| 阿瓦提县| 台东市| 叙永县| 靖西县| 扶余县| 金昌市| 高要市| 通辽市| 定日县| 浮梁县|