Maven中的代码生成

我想从接口自动生成一些java类。 我的第一个想法是编写代码生成器,并将其集成为maven插件。

我正在考虑创建一个maven插件,其中包含在构建过​​程中调用的codegen目标。

因此,如果我选择此路由,如何为插件提供要处理的接口? 生成的文件应该放在哪里?

是否有任何现有的插件可以配置为生成默认的类实现?

来源应该进入{project.build.directory} / generated-sources / [plugin-id] /

大多数插件都通过pom中的插件配置部分进行配置。 您也可以使用默认值,或者使用注释和类路径扫描。

像maven-jspc-plugin这样的插件生成代码,你可以看一下。 “使用Maven构建更好”电子书还包含一个关于编写插件的相当全面的章节。

也许看一下XDoclet Maven插件 – XDoclet通常用于从类中的doclet样式标记生成源代码(例如,从实现中自动生成MBean接口),这听起来与您正在做的类似。

我已经使用APT-Jelly从带注释的java中成功生成java源代码。 你可能想看看。