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 閱讀(297) 評論(0)  編輯  收藏 所屬分類: java - hibernatejavajava - spring
          主站蜘蛛池模板: 阳高县| 潮安县| 舒兰市| 汝阳县| 绥中县| 平邑县| 柳河县| 黎平县| 多伦县| 南昌市| 浪卡子县| 文成县| 邛崃市| 温宿县| 土默特左旗| 綦江县| 韶关市| 兴仁县| 绥德县| 永仁县| 始兴县| 双城市| 海宁市| 锦州市| 罗城| 秭归县| 金湖县| 宾川县| 微山县| 临洮县| 崇仁县| 独山县| 晋城| 尼玛县| 克拉玛依市| 贵定县| 阿勒泰市| 平乡县| 体育| 内黄县| 仙游县|