1:配置文件applicationContext.xml問(wèn)題
org.springframework.orm.hibernate3.HibernateTransactionManager 與
org.springframework.orm.hibernate3.LocalSessionFactoryBean出現(xiàn)問(wèn)題.
解決方法:
這兩個(gè)出現(xiàn)紅色的小x其實(shí)是與三大框架集成的時(shí)候,包沖突有關(guān),首先刪除asm-2.2.3.jar 然后加入
spring-hibernate3.jar,commons-pool.jar,commons-dbcp.jar包,上述的問(wèn)題解決!
2:asm包問(wèn)題
spring與hibernate的沖突.兩個(gè)框架都依賴asm.jar包spring的版本是asm-2.23.jar.hibernate依賴的是asm.jar
方法1:只刪除asm-2.23.jar包
方法2:所有asm開(kāi)頭的jar包,和一個(gè)cglib-2.1.3.jar都刪除,上網(wǎng)下載一個(gè)最新的asm-all-3.0.jar加進(jìn)去
兩種方法都試一下,有些人方法1行,方法2不行,有些人相反。
3:使用MeEclipse的時(shí)候,可能的警告:
java.
lang.NoClassDefFoundError:
org/
objectweb/
asm/Code
Visitor
CGLIB Enhancement failed
解決方案:
在使用Spring的AOP編程時(shí),會(huì)用到這幾個(gè)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存在類上的沖突!!!
使用其中之一或兩者都使用,可能會(huì)出現(xiàn)如下錯(cuò)誤:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。
解決辦法是:
1.去掉類路徑上的關(guān)于Hibernate的3個(gè)lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4個(gè)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服務(wù)器里面的包也被刪了,否則有殘留的時(shí)候,測(cè)試出錯(cuò)。
所以在框架集成時(shí)經(jīng)常遇到,包沖突與少包問(wèn)題,大家注意一下!哈哈!