7

我目前正在从事一个项目,该项目将代码生成用于各种目的。一个生成器从 jpa 实体生成 SQL 脚本。另一个从 pojos 生成 DTO,另一个生成 JPA2.0 元模型,jet 另一个基于 Java 类生成一些 xml 和 schema 文件……每个生成器的工作方式完全不同,需要进行不同的配置。

我现在的问题是......是否有任何具有以下属性的通用 maven 代码生成器插件: - 创建 Java 类的 pojo 模型(名称、属性、注释、方法......) - 使用模板来定义输出它使用 pojo 模型生成任何输出。- 允许我为一个类指定多个模板 - 允许我生成代码和资源 - 允许我生成目标/生成源的基类和 src/main/java 的虚拟实现,它只是扩展基类(如果src/main/java 中的虚拟类存在,没有任何反应,如果它不生成这样的虚拟类。此代码已签入 SCM 并允许手动扩展生成的类)

我正在使用 Flexmojos GraniteDS 插件来生成我的 ActionScript 模型代码,但它非常专门用于该特定目的。

我认为这样的通用生成器会让事情变得容易得多。

4

4 回答 4

0

正如 Lukas 所提到的,Minuteproject是为这样的事情而设计的:

  1. 您可以以各种格式添加任何基于文本的类型(xml、properties、java、html...)文件
  2. 生成的文件可以互相引用
  3. 模板语言是速度
  4. 模板可以应用于表格/视图;列(字段);包(表/视图组);模型; 应用
  5. 代码是可更新的(您可以添加扩展名;修改区域),这意味着您修改的代码会连续生成
  6. 它是操作系统,您可以修改任何模板并添加您的模板
  7. 它捆绑了JPA2等轨道
  8. 它适用于约定,但您可以定义适用于您的模型的自己的约定
  9. 它不仅限于数据结构,它可以对您的语句进行逆向工程(SDD - 语句驱动开发)

但目前它通过命令行工作;一个 Maven 插件将是一个很好的改进

弗洛里安

于 2013-05-12T20:21:16.967 回答
0

minuteproject,它支持多种输入/输出格式。这不是 100% 符合您的要求,但理念是相同的:为各种目标创建单个生成器。

我认为它还没有 Maven 插件,但开发人员反应非常迅速。我相信你可以为它创建一个功能请求。

于 2013-02-27T09:14:41.593 回答
0

尝试一次写入。基于模板的代码生成器。您使用Groovy编写自定义模板,并根据 java 反射生成文件。这是生成任何文件的最简单方法。您可以通过生成 AspectJ 或 java 文件、基于 JPA 注释的 SQL、基于枚举的插入/更新等来制作 getters/settest/toString。

于 2014-05-18T13:00:16.207 回答
0

string-template-maven-plugin 可能是“通用”代码生成器的最佳候选者。您可以定义一个字符串模板模板组文件,并提供一个 java 文件来将数据提供给模板。该插件将自动编译并运行您的 java 代码(控制器)。

于 2013-10-11T00:51:44.840 回答