【问题标题】:CgLib Enhancer private ConstructorCgLib Enhancer 私有构造函数
【发布时间】:2016-02-06 18:41:00
【问题描述】:

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

我找到了this post,并按照说明覆盖了filterConstructors 方法,但是当cglib 尝试调用它时,我得到一个java.lang.IllegalAccessError

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

【问题讨论】:

    标签: java bytecode cglib


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2019-10-16
      • 1970-01-01
      • 2011-02-08
      • 2011-09-13
      相关资源
      最近更新 更多