解决方法
这些工具的方式类似,它们都是有助于设置和配置项目的命令行工具,并且都具有生成代码的能力.
有一些主要的设计差异:
有一些主要的设计差异:
1)Forge旨在用于任何类型的Maven项目. Roo和Spring很相似.因为Forge更通用,您可以为项目中使用的任何技术找到或编写插件.对于Roo来说也是如此,但是在Spring之上只有技术.你可以说,Forge是一个(更多)通用的框架,用于构建在Maven项目上工作的插件,而Roo是(只是)一个Spring工具.
2)Roo也是一个编程框架,不仅是一个工具.代码生成使得AspectJ大量使用代码生成对程序员几乎不可见,并且给出了另外仅在基于动态语言(例如,实体上的动态查找器方法)的框架中找到的特征.这可以是一件好事,一件坏事.这是很好的,因为它是强大的和更优雅的,因为你不“看”生成的代码.不好的是它给了Roo大量锁定.这在技术上是不正确的,因为它只是“简单”AspectJ,但它远不如普通的Java / Spring代码. AspectJ在所有的IDE(Eclipse和IntelliJ都很好)中也不行.由于这个编程模式,我永远不会使用Roo.如果我想要一个具有动态语言功能的框架,我使用Grails,而不是一半的东西.当然这只是我个人的意见.
Forge中的代码生成更多的是传统的,所有这些都是缺陷,但是你永远不会锁定任何非标准的.内置代码生成基于纯Java EE 6.
>免责声明我是一个伪造贡献者,可能会有偏见;-)