以编程方式编写 Java [已关闭]

2022-09-04 21:00:12

我想知道是否已经有一个库来以编程方式编写java类或方法?

我正在寻找能够将新源代码写入现有文件或扩展已存在的文件的库。


答案 1

看看Eclipse JDT

Eclipse Java Development Tools (JDT) 提供了用于访问和操作 Java 源代码的 API。它允许访问工作区中的现有项目,创建新项目以及修改和读取现有项目。

更具体地说,您可以使用Java模型API创建新的Java元素,例如项目,包,类,然后您可以创建/修改某种类型的内容,例如通过AST(抽象语法树)的方法,语句)

您应该看到这篇文章本教程


答案 2

你想要的是一个程序转换系统。这样的工具读取源代码,构建编译器数据结构,让你在这些结构上编写自定义分析器/转换,并吐出与编译器数据结构相对应的源代码;这为您提供了“扩展文件”功能。新代码生成是通过简单地构建相应的编译器数据结构,然后吐出相应的代码来完成的。

我们的DMS软件再造工具包就是这样一个系统。它读取Java源代码,构建编译器数据结构,如抽象语法树和符号表(它可以构建控制流图,调用树和数据流),允许您使用过程代码爬过这些结构,或使用目标(在本例中为Java)语言的表面语法编写“源到源转换”,然后它可以从这些编译器数据结构生成有效的Java代码。

它已被用于实现各种Java分析和转换工具,您可以看到该网站。最容易理解的是使用程序转换来构建测试覆盖率工具


推荐