5

我正在生成需要从其他现有类访问受保护字段的类。因此,我需要指定它应该结束的类路径。

有谁知道如何在 Javassist 中做到这一点?

4

2 回答 2

1

一个老问题,但我遇到了同样的问题。解决方案是在创建类时使用完整的类名,包括包。

ClassPool pool = ClassPool.getDefault();
String packageName = "yourpackage.";
String className = "NameOfTheClass";
CtClass dynamicClass = pool.makeClass(package+className);

这样,您将能够访问给定包中类的受保护字段。

于 2016-03-01T13:20:25.417 回答
0

确保生成的类与声明受保护成员的类放在同一个包中。不应该真正指定“它应该最终进入的类路径”,除非它是由类加载问题引起的。

于 2012-02-13T04:13:09.390 回答