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

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/Code Visitor
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/Code Visitor
java. lang.NoClassDefFoundError: org/ objectweb/ asm/commons/Empty Visitor
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服务器里面的包也被删了,否则有残留的时候,测试出错。
所以在框架集成时经常遇到,包冲突与少包问题,大家注意一下!哈哈!

你可能感兴趣的:(Struts1.2 Spring2.0 Hibernate3.1 MyEclipse整合可能的包冲突)