gpt4 book ai didi

java - 以编程方式编辑/修改 .java 文件? (不是 .class 文件)

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:20 24 4
gpt4 key购买 nike

所以,这是一段使用 CodeModel 的代码生成java代码:

    JCodeModel cm = new JCodeModel();
JDefinedClass dc = cm._class("foo.Bar");
JMethod m = dc.method(0, int.class, "foo");
m.body()._return(JExpr.lit(5));
File f = new File("C:/target/classes");
f.mkdirs();
cm.build(f);

此代码生成一个 .java 文件:

package foo;
public class Bar {

int foo() {
return 5;
}
}

但是,我希望CodeModel 为我创建一个新的java 文件。我已经有了一个 .java 文件,并且想在其中的一个方法中添加几行代码。所以,我希望 API 直接修改 java 文件/创建它的修改副本。有办法做到这一点吗?

最佳答案

我知道距离最初的帖子已经有一段时间了,但是看起来更易于访问的 Java 转换库之一似乎是 Spoon .

来自Spoon Homepage :

Spoon enables you to transform (see below) and analyze (see example) source code. Spoon provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification. Spoon takes as input source code and produces transformed source code ready to be compiled.

更新:Square 还创建了 JavaPoet源代码生成库,流畅的API看起来简单易懂。

关于java - 以编程方式编辑/修改 .java 文件? (不是 .class 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com