Java 代码生成 : How to modify an existing java file method?

标签 java jakarta-ee code-generation

我有一个看起来像这样的 .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 一样简单?如果没有,最好的方法是什么?

最佳答案

您可以使用一些字节码操作库,例如Java助手。 请参阅 javaassist 教程中的 4.2 更改方法主体部分:http://www.csg.is.titech.ac.jp/~chiba/javassist/tutorial/tutorial2.html

关于Java 代码生成 : How to modify an existing java file method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2237770/

相关文章:

java - 原始类型在系统中是如何表示的? (Integer.toString(int) 为例)

java - 从 JPanel 获取高分辨率图像

java - 使用 Spring MVC 修改数据库对象列表的正确方法是什么?

MediaPlayer.seek() 和 MediaPlayer.getCurrentTime() 的 JavaFX 问题;

java - Univocity - 是否可以将文件解析为运行时生成的 bean/类?

spring-boot - 生成Spring代码时如何将OpenAPI "oneOf"属性与openapi-generator-maven-plugin一起使用

java - Glassfish 3.1 默认主体到角色映射

java - java ee 应用程序如何托管在服务器上

java - 使用 jQuery 将参数发送到 Java Server Pages (JSP)

android - 跨移动选项