CGLIB Enhancement failed

本文介绍了当使用Spring2.0与Hibernate3.1.x/3.2版本时,因asm库版本不一致导致的类冲突问题。文章详细说明了错误表现,并提供了解决方案,包括移除Hibernate相关库文件及引入Spring指定版本的库。

环境:Spring2.0 Hibernate3.1.x/Hibernate3.2

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

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-09-11 15:36:49.155-[uap-base,default,default]-[39756]-[main]-[ERROR]-[o.s.boot.SpringApplication] - Application run failed org.springframework.beans.factory.BeanDefinitionStoreException: Could not enhance configuration class [com.qctc.eboss.service.base.util.OKStream]. Consider declaring @Configuration(proxyBeanMethods=false) without inter-bean references between @Bean methods on the configuration class, avoiding the need for CGLIB enhancement. at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:136) at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:539) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:311) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:153) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.qctc.eboss.service.BaseApplication.main(BaseApplication.java:44) Caused by: org.springframework.cglib.core.CodeGenerationException: java.lang.IllegalStateException-->Unable to load cache item at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:202) at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:128) ... 13 common frames omitted Caused by: java.lang.IllegalStateException: Unable to load cache item at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:75) at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:129) at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:321) at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:562) at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:407) at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:198) ... 14 common frames omitted Caused by: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at okhttp3.ConnectionPool.<init>(ConnectionPool.kt) at com.qctc.eboss.service.base.util.OKStream.<clinit>(OKStream.java:35) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:581) at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:375) at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:575) at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.lambda$new$1(AbstractClassGenerator.java:107) at org.springframework.cglib.core.internal.LoadingCache.lambda$createEntry$1(LoadingCache.java:52) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:57) ... 20 common frames omitted Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 32 common frames omitted 2025-09-11 15:36:49.160-[uap-base,default,default]-[39756]-[Thread-1]-[INFO]-[c.a.n.c.executor.ThreadPoolManager] - [ThreadPoolManager] Start destroying ThreadPool 2025-09-11 15:36:49.160-[uap-base,default,default]-[39756]-[Thread-3]-[INFO]-[c.a.n.c.http.HttpClientBeanHolder] - [HttpClientBeanHolder] Start destroying common HttpClient 2025-09-11 15:36:49.160-[uap-base,default,default]-[39756]-[Thread-5]-[INFO]-[c.a.n.common.notify.NotifyCenter] - [NotifyCenter] Start destroying Publisher 2025-09-11 15:36:49.160-[uap-base,default,default]-[39756]-[Thread-5]-[INFO]-[c.a.n.common.notify.NotifyCenter] - [NotifyCenter] Completed destruction of Publisher 2025-09-11 15:36:49.160-[uap-base,default,default]-[39756]-[Thread-1]-[INFO]-[c.a.n.c.executor.ThreadPoolManager] - [ThreadPoolManager] Completed destruction of ThreadPool 已与地址为 ''127.0.0.1:28301',传输: '套接字'' 的目标虚拟机断开连接 是因为缺依赖吗
最新发布
09-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值