class net.sf.cglib.core.DebuggingClassWriter overrides final method visit

在使用CGLIB进行动态代理的时候,报了【java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.

(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V】错误。

原因是因为我做的是SpringBoot的项目,在SpringBoot的架构中已经存在了cglib的jar包。这时候如果再在POM文件中引入cglib2.2的jar包,并且在代码中导入使用的是cglib2.2的类,就会导致asm类的版本冲突,导致报错。

解决的办法就是使用SpringBoot提供的cglib包。

"你那么聪明,怎么会猜不到,只是你我都不愿意承认而已。"

原文地址:https://www.cnblogs.com/yanggb/p/10872824.html

时间: 2024-10-07 05:34:42

class net.sf.cglib.core.DebuggingClassWriter overrides final method visit的相关文章

overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet 错误解决

使用java代码连接hbase服务器报错:  java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet; 错误种类有很多种,根据不同的操作回报不同的错,关键词就是 pro

IK 异常class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream

在网上下载了lucene当前最新版本4.0,以及IKAnalyzer中文分词器的完整发布包. 运行之后发现异常:Exception in thread "main" java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream.(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analys

解决Maven不能下载“oracle、aspectjweaver、com.springsource.net.sf.cglib”jar

鸣谢网址:http://www.cnblogs.com/dongyangbolg/p/3455422.html http://www.cnblogs.com/ysq0908/p/4737977.html ------------------------------------------------------------------ 一.问题描述 Maven下载“oracle14-10.2.0.1.0.jar”.“aspectjweaver-1.8.0.jar”.“com.springsour

.Net Core CLR FileFormat Call Method( Include MetaData, Stream, #~)

.Net Core  CLR PE 文件启动方法,找到函数入口点,调用整个.Net 程式宿主. 使用方法:可以利用Visual Studio新建一个控制台应用程序,然后生成DLL,替换掉本程序DLL,新建C++ .CPP 文件 然后即可运行看到效果. 整个代码情况如下 包括 IMIAGE_CORE20_HEADER MetaData, 表格对其方式等待 4 #include "pch.h" 5 #include <iostream> 6 #include <Windo

jdk动态代理和cglib动态代理底层实现原理详细解析(cglib动态代理篇)

代理模式是一种很常见的模式,关于底层原理网上看到很多的有关的讲解,但看了一些都觉得比较粗略,很多时候把底层代码copy下来也不大讲解,感觉不如自己详细的写上一篇.本文将以非常详细的说明来分析cglib动态代理底层的实现原理,篇幅较长,但是每个核心方法代码中每步都有说明.还请耐心阅读 1. 举例 使用cglib代理需要引入两个包,maven的话包引入如下 <!-- https://mvnrepository.com/artifact/cglib/cglib --> <dependency&

《Java知识应用》Java CGLib动态代理使用和原理说明

一.CGLib jar包下载 百度网盘: 链接:https://pan.baidu.com/s/1O_5o_vtPWEZ3Hy0CHlZDug提取码:5wf6 CGLib要使用还需要额外的asm.jar 链接:https://pan.baidu.com/s/1874lFlpOLsdzPUs7O9Ol-g提取码:wf68 二.CGLib应用案例 package demo.knowledgepoints.cglib; public class BaseDemo { private String Na

设计模式--动态代理(CGLIB)

上一篇文章<设计模式--动态代理(JDK)>已经写了JDK中动态代理的应用,这篇文章将介绍动态代理在CGLIB中应用.,从上篇文章中我们知道使用JDK动态代理是有一定限制.就是被代理类必须至少实现一个接口,因为JDK为我们生成的动态代理也是实现这个接口的.所以如果没有接口,JDK基本就歇菜了.CGLIB正好弥补了JDK的这个缺陷,他的被代理类是无需实现接口,因为它的实现机制是继承被代理类,从而创建一个代理对象(继承被代理对象)的. CGLIB(Code Generation Library)是

使用Cglib动态dialing开发运行时抛异常org.objectweb.asm.ClassWriter

开始时使用的jar包: asm-2.2.3.jar cglib-2.2.jar 代码如下: package proxy.cglib; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; /** * Cglib动态代理:可以不用像JDK的对象使用动

【原创】学习CGLIB动态代理中遇到的问题

代码清单1 CGLIB动态代理 1 package wulj.proxy.cglibProxy; 2 3 import java.lang.reflect.Method; 4 5 import net.sf.cglib.proxy.Enhancer; 6 import net.sf.cglib.proxy.MethodInterceptor; 7 import net.sf.cglib.proxy.MethodProxy; 8 9 public class CglibProxyExample i