Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javassist工厂-设置自定义类加载器_Java_Javassist_Cglib - Fatal编程技术网

Javassist工厂-设置自定义类加载器

Javassist工厂-设置自定义类加载器,java,javassist,cglib,Java,Javassist,Cglib,使用CGLIB我可以 final var enhancer = new Enhancer(); enhancer.setUseCache(false); enhancer.setSuperclass(superClazz); enhancer.setCallback(...); enhancer.setClassLoader(getClass().getClassLoader()); // This 但是,使用Javassist我找不到设置ClassLoader的方法。有什么想法吗 EDI

使用
CGLIB
我可以

final var enhancer = new Enhancer();
enhancer.setUseCache(false);
enhancer.setSuperclass(superClazz);
enhancer.setCallback(...);
enhancer.setClassLoader(getClass().getClassLoader());   // This
但是,使用
Javassist
我找不到设置
ClassLoader
的方法。有什么想法吗

EDIT:omg,我应该只是子类
ProxyFactory
?真奇怪

// Kotlin
ProxyFactory.classLoaderProvider = ProxyFactory.ClassLoaderProvider { javaClass.classLoader }
这看起来不安全。但根据文档,这显然就是它的工作方式。

或者,只需子类
ProxyFactory

就可以通过向CtClass添加类路径来设置类加载器。 见对问题的答复: