Java代码生成:如何修改现有的java文件方法?

我有一个.
java src文件,如下所示:

class Test {

    public void foo() {
    }

}

我想以编程方式修改foo(),在某种意义上说,添加一个sysout并使它看起来像这样:

public void foo() {
    System.out.println("hello world");
}

有没有任何已知的方法可以通过不直接编辑src文件(RandomAccessFile)来做到这一点?

StackOverflow上的一些帖子引用了CodeModel和Eclipse JDT的AST,用于代码生成.我发现这些将有助于从头开始代码生成,而不是修改现有代码.是否有一个API可以让你修改现有代码,哪个API有一个像CodeModel / Eclipse JDT AST一样简单的API?如果没有,那么最好的方法是什么?

最佳答案 您可以使用一些字节码操作库,例如JavaAssist.

 有关javaassist:
http://www.csg.is.titech.ac.jp/~chiba/javassist/tutorial/tutorial2.html的教程,请参见4.2修改方法体

点赞