如何使用javassist创建类的副本?

时间:2011-11-04 06:53:55

标签: java javassist

使用Javassist,我如何创建一个与我拥有的类完全相同的类,但名称不同。我也希望保留所有运行时注释。

2 个答案:

答案 0 :(得分:5)

ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("OriginalName");
cc.setName("NewName");
cc.writeFile();

答案 1 :(得分:5)

这样对我来说很好:

javassist.ClassPool.getDefault()
  .getAndRename("com.example.Foo", "com.example.Bar")
  .toClass();