Javassist 工厂 - 设置自定义类加载器
Javassist factory - setting a custom classloader
有了CGLIB
我可以做到
final var enhancer = new Enhancer();
enhancer.setUseCache(false);
enhancer.setSuperclass(superClazz);
enhancer.setCallback(...);
enhancer.setClassLoader(getClass().getClassLoader()); // This
但是对于 Javassist
,我找不到设置 ClassLoader
的方法。有什么想法吗?
编辑:我的天啊,我应该只继承 ProxyFactory
吗?真奇怪。
// Kotlin
ProxyFactory.classLoaderProvider = ProxyFactory.ClassLoaderProvider { javaClass.classLoader }
恕我直言,这似乎不安全。但根据文档,这显然是这样做的。
或者,只需子类 ProxyFactory
.
您可以通过将ClassPaths 添加到CtClass 来设置类加载器。
查看问题的答案:
有了CGLIB
我可以做到
final var enhancer = new Enhancer();
enhancer.setUseCache(false);
enhancer.setSuperclass(superClazz);
enhancer.setCallback(...);
enhancer.setClassLoader(getClass().getClassLoader()); // This
但是对于 Javassist
,我找不到设置 ClassLoader
的方法。有什么想法吗?
编辑:我的天啊,我应该只继承 ProxyFactory
吗?真奇怪。
// Kotlin
ProxyFactory.classLoaderProvider = ProxyFactory.ClassLoaderProvider { javaClass.classLoader }
恕我直言,这似乎不安全。但根据文档,这显然是这样做的。
或者,只需子类 ProxyFactory
.
您可以通过将ClassPaths 添加到CtClass 来设置类加载器。
查看问题的答案: