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

有了CGLIB我可以做

final var enhancer = new Enhancer();
enhancer.setUseCache(false);
enhancer.setSuperclass(superClazz);
enhancer.setCallback(...);
enhancer.setClassLoader(getclass().getclassLoader());   // This

但是对于Javassist,我找不到设置ClassLoader的方法。有想法吗?

编辑:天哪,我应该只继承ProxyFactory的子类吗?太奇怪了。

zhenyuting 回答:Javassist工厂-设置自定义类加载器

您可以通过将ClassPaths添加到CtClass来设置类加载器。 请参阅问题答案:get CtClass using specific ClassLoader

,
// Kotlin
ProxyFactory.classLoaderProvider = ProxyFactory.ClassLoaderProvider { javaClass.classLoader }

这似乎并不安全,恕我直言。但这显然是按照文档进行的。
或者,仅子类ProxyFactory

本文链接:https://www.f2er.com/2508029.html

大家都在问