Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有通用的Maven代码生成器?_Java_Maven_Code Generation - Fatal编程技术网

Java 有没有通用的Maven代码生成器?

Java 有没有通用的Maven代码生成器?,java,maven,code-generation,Java,Maven,Code Generation,我目前正在从事一个项目,该项目为各种目的大量使用代码生成。一个生成器从jpa实体生成SQL脚本。另一个从POJO生成DTO,另一个生成JPA2.0元模型,另一个基于Java类生成一些xml和模式文件。。。每台发电机的工作方式完全不同,需要进行不同的配置 我现在的问题是。。。是否存在具有以下属性的通用maven代码生成器插件: -创建Java类的pojo模型(名称、属性、注释、方法…) -使用模板定义使用pojo模型生成任何输出的输出。 -允许我为一个类指定多个模板 -允许我生成代码和资源 -允许

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

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

我使用Flexmojos GraniteDS插件生成ActionScript模型代码,但它非常专门用于该特定用途

我认为这样一个通用的生成器会让事情变得更简单。

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

我认为它还没有Maven插件,但开发人员的响应能力非常强。我相信您可以为它创建一个功能请求。

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

  • 您可以以各种格式添加任何基于文本的类型(xml、属性、java、html…)文件
  • 生成的文件可以相互引用
  • 模板语言是velocity
  • 模板可以应用于表/视图;列(字段);包(表/视图组);模型应用
  • 代码是(您可以添加扩展名;修改区域),这意味着您修改的代码将保留在连续生成中
  • 它是操作系统,您可以修改任何模板并添加您的模板
  • 它捆绑了诸如
  • 它与约定一起工作,但您可以定义应用于模型的自己的约定
  • 它不仅限于数据结构,还可以对您的报表进行反向工程(SDD-报表驱动开发)
  • 但目前它是通过命令行工作的;maven插件将是一个很好的改进


    Florian

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

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

    旁注:如果您对代码生成器感兴趣,也许您可以看看。这只是为了提供信息,因为它不是您要求的Maven插件,但它也很有趣(
    ;)外面有很多有趣的事情。。。想想SpringRoo和其他人。但是我更想寻找一个简单的maven工具,我可以在任何需要suff-generation的地方使用它。你为什么特别想要一个maven工具?为什么不能从命令行启动一个工具呢?目前我自己的项目已经准备好了。所以我会继续走这条路。。。但是谢谢你提供的信息。也许我会看一看,并把它作为灵感;-)事实上,这甚至没有达到我想要的功能。但我已经准备好开始开发一个新的插件,我将使用它。一旦第一次完成了,我会把它开源。