2011-08-07 56 views
4

我在寻找不错的(java)代码生成引擎。 我发现了cglib,但它的记录非常糟糕,我不太确定它可以生成实际的java类(文件)并且只能生成动态类。如果我错了,也许有人知道有一个例子的链接。Java代码生成

罗马

+0

你想从什么来源生成? UML? – Stephan

+1

cglib是Spring用来生成动态代理的东西。如果对他们来说足够好,那对你来说应该足够好。是的,您可以使用cglib生成实际的Java类。这就是它的目的。我会更仔细地重新阅读该文档。 – duffymo

+0

它应该是源代码不可知的,它也可以是UML或XML,或者只是一些代码BL和duffymo,我查看了Cglib的源代码,无法找到打印实际类的方法 – Roman

回答

4

看一看codemodel,成功为我的项目使用。

+0

伟大的...也许我可以重写它变得甚至人类可用,但绝对是一个开始..! – Roman

4

没有真正尝试,但你可能想看看另一种代码生成Java框架称为Javassist进行,其中也有相当深入的tutorial。此外,Hibernate将代码生成框架从cglib更改为javassist。引用,解释原因:

事情的一个简单事实是CGLIB的开发已基本停止。它发生了。无论出于何种原因(原因是他们自己的),开发人员都将转向新的优先事项。

Source

+0

看来,它只是仅适用于字节码操作 – Roman

+1

@罗曼你是对的,抱歉误会。然而,在google搜索一下之后,我发现有人命名为Michael Schnell设法将源代码添加到Javassist。 [证明](http://java.dzone.com/articles/adding-source-code-generation) – jFrenetic