标签: java bytecode cglib
我尝试使用cglib为只有私有构造函数的类创建代理。我无法改变可见性,因为它是一种库方法。
我找到了this post,并按照这些内容覆盖了filterConstructors方法,但是当cglib尝试调用它时,我得到了java.lang.IllegalAccessError。
filterConstructors
java.lang.IllegalAccessError
我可以以某种方式绕过这个限制吗?
答案 0 :(得分:1)
Cglib通过子类化工作。因此,cglib类永远不能访问代理类的构造函数。
您可以尝试做的是重新定义现有的类。为此,您可以使用Byte Buddy等库。