寻找java代码生成库

寻找java代码生成库,java,code-generation,Java,Code Generation,什么是“好的”java代码生成库? 我在JaxMe中找到了一代人的角色,但它又穷又老。 我喜欢通过java代码生成java代码。所以基本上使用一个lib来告诉我们,它必须生成一个特定的类或带有X字段、Y方法等的接口。。然后写入文件系统。。 我知道框架使用它们,但找不到独立的库。。 -Ed也许你应该对它感兴趣 有几个具有各种功能和易用性的库: 您可能需要查看每个API的API,以确定哪一个更适合您的目的。我最喜欢。它使用了一个访问者模式,当您生成代码时,一开始可能会有点混乱;但是一旦你

什么是“好的”java代码生成库? 我在JaxMe中找到了一代人的角色,但它又穷又老。 我喜欢通过java代码生成java代码。所以基本上使用一个lib来告诉我们,它必须生成一个特定的类或带有X字段、Y方法等的接口。。然后写入文件系统。。 我知道框架使用它们,但找不到独立的库。。
-Ed

也许你应该对它感兴趣

有几个具有各种功能和易用性的库:


您可能需要查看每个API的API,以确定哪一个更适合您的目的。

我最喜欢。它使用了一个访问者模式,当您生成代码时,一开始可能会有点混乱;但是一旦你掌握了它,它就会变得非常干净和简单。

我不久前也研究过这个问题,很难找到有用的东西。我发现的最有希望的候选者实际上是内置在编译器中的:

他们最近在javac中加入了APT,所以它总是可用的


我还没有太多的时间来研究它,但乍一看,它似乎功能无限强大(生成/修改源代码或字节码、抛出错误、警告等等),但它可能有点复杂。可能会有一些很好的教程,但我现在没有一个特定的链接给你。

如果你的程序知道它要生成的类的名称,以及所有成员的名称和内容,你到底为什么需要一个代码生成器?输出流中的print语句还不够吗?有趣的代码生成器必须自己添加一些有用的内容。您所谈论的信息事先并不知道,即使您知道,您所谈论的大量信息每年都会因法律变化而变化。。。示例:您希望用于生成代码和相应验证的xbrl/xsd…所有这些(除了cglib)的副本似乎都是字节码编辑工具,而不是源代码生成器…感谢您的反馈,但正如前面提到的,这些主要是字节码生成器,我正在谈论源代码生成器。我注意到没有一个成熟的独立源代码生成器项目,但大部分都是子项目,如codemodel和ApacheJAXME。。。edbras:我想你在哪里问过字节码生成,因为这是大多数人在谈论Java代码生成时的意思。通常,代码生成器旨在允许使用更高级别的抽象。考虑到输出已经是Java源代码,在您的情况下,抽象会是什么?很抱歉,不清楚。用法示例:xbrl/xsd文件,用于生成包含验证的代码(maxOccurs/minOccurs/fractionDigits等)。我阅读了这篇文章,然后生成了源代码,目前使用ApacheJAXME子项目生成源代码注释处理听起来非常令人惊讶,直到您真正开始尝试使用它为止。上次我检查的时候,你必须跳转通过一个令人难以置信的数量,例如获得当前的源文件,你仍然需要弄乱你的构建系统来使用它。。。有时我只是错过了C预处理器。。。