CgLib Enhancer私有构造函数

时间:2016-02-05 20:08:17

标签: java bytecode cglib

我尝试使用cglib为只有私有构造函数的类创建代理。我无法改变可见性,因为它是一种库方法。

我找到了this post,并按照这些内容覆盖了filterConstructors方法,但是当cglib尝试调用它时,我得到了java.lang.IllegalAccessError

我可以以某种方式绕过这个限制吗?

1 个答案:

答案 0 :(得分:1)

Cglib通过子类化工作。因此,cglib类永远不能访问代理类的构造函数。

您可以尝试做的是重新定义现有的类。为此,您可以使用Byte Buddy等库。