spring2.5 加了事务注解报错的解决

本文探讨了在使用Spring2.5框架时,遇到事务标记@Transactional后启动报错的问题。通过分析发现是由于CGLIB包冲突导致的NoClassDefFoundError。解决方案包括删除冲突的jar文件并保留无依赖版本,从而解决了事务执行失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring 2.5 的包和所依赖的包加上 , 配置了数据库连接,  事务控制 , IBATIS 的 SQLMAP 配置 .

 

当在SERVICE前 加事务标记  @Transactional 后, 启动报错

 

 

2011-7-22 22:39:12 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userSRV': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.core.KeyFactory
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
	at java.security.AccessController.doPrivileged(Native Method)



..............................................................





	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.core.KeyFactory
	at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)

 

 

上网查得 , 是 CGLIB 的包冲突 ,  因为同时加入了  cglib-2.2.jar    和    cglib-nodep-2.2.jar

 

删除 cglib-2.2.jar  保留  cglib-nodep-2.2.jar  

 

错误解决.  事务成功.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值