org.objectweb.asm.ClassVisitor.visit
发现用 MyEclipse 5.5 做 Struts 1.2 + Spring 2.0 + Hibernate 3.1 整合时启动过程中报如下的错误:
Spring 和 Hibernate 共用的一些 jar 文件发生了版本冲突, 删除 WEB-INF/lib/asm-2.2.3.jar 然后重启 Tomcat.
asm-2.2.3.jar
asm.jar
asm-attrs.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
2007-08-08 15:36:17,406 ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed: dao.User
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
原文参考: http://heweiya.iteye.com/blog/101575
分享到:
相关推荐
关键接口ClassVisitor中的核心方法`visit(int version, int access, String name, String signature, String superName, String[] interfaces)`是访问类声明时首次被调用。参数含义如下: 1. `version`:表示类文件...
1. `visit()`:开始访问一个类,提供了类的基本信息,如版本号、访问标志等。 2. `visitField()`:访问类的字段,可以用来添加、修改或删除字段。 3. `visitMethod()`:访问类的方法,可以用来添加、修改或删除方法...
3. `visit()`, `visitEnd()`, `visitField()`, `visitMethod()`: 这些是`ClassVisitor`接口的方法,分别用于开始访问类,结束访问类,访问字段和访问方法。 在给定的代码示例中,我们看到了如何使用ASM生成接口`...
3. **遍历和修改类结构**:通过调用ClassVisitor的visit方法开始遍历类结构,并在访问到特定元素时调用对应的visit方法进行修改。 4. **生成字节码**:完成遍历和修改后,调用ClassWriter的finish方法,ASM会根据...
通过调用visit方法,你可以构建出一个新的类结构。 3. **ClassReader**:这个类用于读取已存在的.class文件,它可以解析字节码并提供给ClassVisitor访问。 4. **FieldVisitor** 和 **FieldWriter**:分别用于访问...
4. 字节码操作:ASM提供了各种visit方法,用于在字节码级别插入、修改或删除指令。 在ASM字节插桩过程中,通常涉及以下步骤: 1. **分析阶段**:首先,使用ASM的ClassReader读取目标类的字节码,通过访问控制器传递...
cw.visit(V1_8, ACC_PUBLIC + ACC_SUPER, className, null, "java/lang/Object", new String[]{interfaceName}); // 实现接口方法 MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "method", "()V", null, null)...
cw.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT + Opcodes.ACC_INTERFACE, "com/asm3/Comparable", null, "java/lang/Object", new String[]{"com/asm3/Mesurable"}); // 定义类的静态常量...
`ClassWriter`是基于`ClassVisitor`接口实现的,因此它包含了对类的各种元数据进行访问和处理的方法。 `ClassWriter`类中包含了一些关键字段,这些字段对应于Java类文件结构中的各个部分: 1. `version`: 这个字段...