Struts1.2 Spring2.0 Hibernate3.1 MyEclipse整合可能的包冲突

来源:互联网 发布:怎样进行商品数据分析 编辑:程序博客网 时间:2024/05/22 09:26

1:配置文件applicationContext.xml问题

    org.springframework.orm.hibernate3.HibernateTransactionManager 与  

    org.springframework.orm.hibernate3.LocalSessionFactoryBean出现问题.

    解决方法:

    这两个出现红色的小x其实是与三大框架集成的时候,包冲突有关,首先删除asm-2.2.3.jar 然后加入

    spring-hibernate3.jar,commons-pool.jar,commons-dbcp.jar包,上述的问题解决!

2:asm包问题

    spring与hibernate的冲突.两个框架都依赖asm.jar包spring的版本是asm-2.23.jar.hibernate依赖的是asm.jar 

    方法1:只删除asm-2.23.jar包

    方法2:所有asm开头的jar包,和一个cglib-2.1.3.jar都删除,上网下载一个最新的asm-all-3.0.jar加进去

两种方法都试一下,有些人方法1行,方法2不行,有些人相反。

3:使用MeEclipse的时候,可能的警告:

java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor

CGLIB Enhancement failed

解决方案:

在使用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.3.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

3:注意以上的删包要确保tomcat服务器里面的包也被删了,否则有残留的时候,测试出错。

所以在框架集成时经常遇到,包冲突与少包问题,大家注意一下!哈哈!

原创粉丝点击