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 来设置类加载器。 查看问题的答案: