我已经阅读了几个与在运行时卸载/重新加载类的一般问题相关的问题,这似乎是一个棘手且有些可疑的问题。但是,我想知道在运行时使用专用于该目的且没有任何实例的单独 ClassLoader 显式检测类的情况如何(因为构造函数总是抛出异常,或者该类甚至没有通过验证由JVM)?
我尝试深度模拟任意域模型类图(库代码)。这是 scala,这意味着这些是没有默认构造函数的类,并且通常不会null
友好地接受值,所以我需要实例化所有参数(反过来,通常递归地检测它们的子类)。这显然有时会失败 - 多久取决于编码风格以及在构造函数中执行多少验证。由于可取的依赖关系,我已经面临模拟更大图表的风险,因此我尝试将自己限制在生成类时的单一最佳镜头并放弃失败,而不是尝试不同的构造函数或不同的值,这至少在理论上可以提高我的成功率。
我目前正在使用 ByteBuddy,考虑到它的全面性,它似乎已经能够做到这一点?