首页 > 解决方案 > 如何从 byte[](字节码)创建 java.lang.Class 对象?

问题描述

我创建了一个代理来转换代码并在运行时添加一些类。因此,我需要更改这些类的代码(位于代理的 jar 文件中),这些代码将被添加以使我的应用程序正常运行。我设法将这些类的字节码转换为我的需要。

是否可以使用此修改后的字节码创建 java.lang.Class?

for(Class c : agentClassesToTransform) {
    byte[] modifiedBytes = editClass(c);

    Class editedClass;

    // create class using the modified bytes

    ...

    addClassToClassloader(editedClass);
}

标签: javajava-bytecode-asmjavassistbytecode-manipulation

解决方案


推荐阅读