﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-蓝槐</title><link>http://www.blogjava.net/lanhuai/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 09:00:34 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 09:00:34 GMT</pubDate><ttl>60</ttl><item><title>ASM冲突的问题</title><link>http://www.blogjava.net/lanhuai/archive/2008/09/05/227214.html</link><dc:creator>蓝槐</dc:creator><author>蓝槐</author><pubDate>Fri, 05 Sep 2008 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/lanhuai/archive/2008/09/05/227214.html</guid><wfw:comment>http://www.blogjava.net/lanhuai/comments/227214.html</wfw:comment><comments>http://www.blogjava.net/lanhuai/archive/2008/09/05/227214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lanhuai/comments/commentRss/227214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lanhuai/services/trackbacks/227214.html</trackback:ping><description><![CDATA[<div>原文：<a href="http://www.cnblogs.com/xuwenyan/archive/2008/07/14/1242487.html">http://www.cnblogs.com/xuwenyan/archive/2008/07/14/1242487.html</a></div>
<div>网上找了很多，只有这个才行</div>
<div>你在加的时候按这个顺序来加Struts--Spring--Hibernate，有重复包的时候不要替换就没问题了</div>
<div>方法一： </div>
<div>在使用Spring的AOP编程时，会用到这几个lib： </div>
<div>asm-2.2.2.jar </div>
<div>asm-commons-2.2.2.jar </div>
<div>asm-util-2.2.2.jar </div>
<div><br />
</div>
<div>Hibernate使用如果lib： </div>
<div>asm.jar </div>
<div>asm-attrs.jar </div>
<div><br />
</div>
<div><br />
</div>
<div>其中asm-2.2.2.jar与asm.jar存在类上的冲突！！！ </div>
<div>使用其中之一或两者都使用，可能会出现如下错误： </div>
<div>java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor </div>
<div>java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor </div>
<div>java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。 </div>
<div><br />
</div>
<div><br />
</div>
<div>解决办法是： </div>
<div>1.去掉类路径上的关于Hibernate的3个lib </div>
<div>asm.jar </div>
<div>asm-attrs.jar </div>
<div>cglib-2.1.3.jar </div>
<div><br />
</div>
<div>2.加入Spring中的以下4个lib </div>
<div>asm-2.2.2.jar </div>
<div>asm-commons-2.2.2.jar </div>
<div>asm-util-2.2.2.jar </div>
<div>cglib-nodep-2.1_3.jar </div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div><br />
</div>
<div>方法二： </div>
<div>在使用Spring的AOP编程时，会用到这几个lib： </div>
<div>asm-2.2.2.jar </div>
<div>asm-commons-2.2.2.jar </div>
<div>asm-util-2.2.2.jar </div>
<div><br />
</div>
<div>Hibernate使用如果lib： </div>
<div>asm.jarasm-attrs.jar </div>
<div>其中asm-2.2.2.jar与asm.jar存在类上的冲突。 </div>
<div>使用其中之一或两者都使用，可能会出现如下错误： java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitorjava.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitorjava.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit </div>
<div><br />
</div>
<div>下面是解决方法手工编辑你的.classpath文件，比如我这个（只有部分内容） </div>
<div><br />
</div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_CORE"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_DAO"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_AOP"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_WEB"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_1_CORE"/> </div>
<div>&lt;classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.0.4-bin.jar"/> </div>
<div><br />
</div>
<div>将最后2行hibernate和mysql驱动，手工复制到springframework的lib前面。 </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_1_CORE"/> </div>
<div>&lt;classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.0.4-bin.jar"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_CORE"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_DAO"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_AOP"/> </div>
<div>&lt;classpathentry kind="con" path="melibrary.com.genuitec.eclipse.springframework.MYECLIPSE_SPRING20_WEB"/> </div>
<div><br />
</div>
<div>现在你再试试启动，应该不会报错了。 </div>
<div><br />
</div>
<div>我这里用了myeclipse的jar包。如果你是自定义用户库jar包，那么只要保证spring的jar包在hibernate之后加载，项目在部署的时候spring的jar包就会覆盖掉hibernate的jar包。</div>

<img src ="http://www.blogjava.net/lanhuai/aggbug/227214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lanhuai/" target="_blank">蓝槐</a> 2008-09-05 14:33 <a href="http://www.blogjava.net/lanhuai/archive/2008/09/05/227214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>