溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

          溫馨提示:
                  以下異常僅在Spring3.0.3版本中遇到,其他版本可能也會遇到,讀者可作參考。不保證會順利通過。
                  近期在學習Spring3的一些新特性,一般在項目開發中為了方便期間,都是借助myeclipse工具來添加ssh支持,很少手動添jar包。這里想自虐一下,體驗一下jar包沖突或找不到類的那種感覺,在此也將在Spring3.0中AOP開發過程中遇到的異常什么的記錄出來,可以方便更多人,快速定位錯誤。

          第一個異常
          java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
          有過開發經驗的一眼就可以看出,這是缺少commons-logging.jar包,因為spring中使用它來記錄日志,而spring3.0.3這個版本中并沒有該jar,自行到apache網站下載添加該jar即可

          第二個異常
          在使用AOP的注解時需要用到aopalliance.jar 、aspectjrt.jar 、aspectjweaver.jar,而此三個jar包并未在spring3.0.3的發布中提供需要開發者自行添加

          第三個異常
          org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces
          從異常信息可以看出是cglib的問題,而我們去檢查項目,卻發現項目中并未cglib的jar,那么你可能想到的是缺少cglib這個jar包,沒錯,你的思路是正確的,你具有做javaee開發的思維,添加cglib-2.2.jar即可
          第四個異常,這也是開發中每個人都會遇到的一個異常,堪稱ssh開發中的經典,如果你是一位技術主管,那么你可以同過此異常去考查一個新人,一看便知,他有沒有javaee開發經驗。呵呵,廢話這么多了,不知道你有沒有猜到是什么了。還是我來告訴你吧,那就是經典的asm.jar包沖突,你的答案正確嗎?不正確,沒關系,你只要記下如何解決就可以了,這個異常保證你在工作中遇到或在面試中問到,那么它的重要性可想而知了。

          下面分環境來介紹該jar包沖突的解決方案。

          在spring3.0以下的環境中(適應于ssh),若出現該jar包沖突,你需要刪除帶版本號的那個asm.jar,而保留不帶版本號的那個asm.jar即可

          在spring3.0的環境中,大家仔細檢查的話發現spring也帶了一個名為org.springframework.asm-3.0.3.RELEASE.jar的jar包,而在開發中僅僅使用這個jar包還是不夠的,你還需要額外的去添加asm.jar,那么這個asm.jar到底是那個版本了?用大腿想想?記得胡叔叔上臺的時候提過與時俱進這個詞,呵呵,人家是說政治的,我這是說開發的,既然spring是3.0的版本,那么asm.jar這個jar包版本肯定也是3.0以上版本啦,要與時俱進嘛。下載地址http://forge.ow2.org/projects/asm/ 我們會看到一個3.3的版本。
          可能見到的異常信息
           java.lang.NoClassDefFoundError: org/objectweb/asm/Type
          org.objectweb.asm.ClassVisitor.visit
          asm3.3.jar,你值得擁有!

          posted on 2010-10-29 09:46 雪山飛鵠 閱讀(4950) 評論(3)  編輯  收藏 所屬分類: spring

          Feedback

          # re: Spring3.0.3使用之異常解決 2010-10-29 10:29 @joe
          不建議現在的應用立即升級到spring3.0 除非你知道spring3.0的變化明細。  回復  更多評論
            

          # re: Spring3.0.3使用之異常解決 2010-10-29 10:38 雪山飛鵠
          @@joe
          呵呵
          被spring3.0的新特性吸引了,確實3.0的spring問題很多,最大的差異就是依賴的jar包沒列出來,使用中jar包沖突和找不到類的異常頻發,沒以前2.X系列的spring好用  回復  更多評論
            

          # re: Spring3.0.3使用之異常解決 2011-03-18 15:21 jungle
          非常好 謝謝!!
          下了個asm3.3.jar就可以了!  回復  更多評論
            

          主站蜘蛛池模板: 九龙坡区| 英山县| 敖汉旗| 海兴县| 古丈县| 西和县| 罗平县| 浪卡子县| 永年县| 平乡县| 长治市| 酉阳| 白玉县| 万安县| 康平县| 航空| 广州市| 桐乡市| 边坝县| 漯河市| 迁安市| 郁南县| 黄骅市| 宜州市| 买车| 连云港市| 武鸣县| 西畴县| 锡林浩特市| 开原市| 扎兰屯市| 宜兰市| 静乐县| 蛟河市| 正蓝旗| 凤台县| 额济纳旗| 柳林县| 凉山| 张掖市| 简阳市|