代码生成工具实现(Maven插件)
在微服务体系下,新的工程创建和实现将变得较为频繁。为了最大程度简化开发人员非业务开发工作,结合公司现状,觉得采用Maven插件的形式实现一个自动生成工具。
目标:通过一行命令创建微服务工程并根据数据库表生成相关相关代码。
设计:
下面问题是实现过程中遇到并已解决,备查。
问题1:在命令行执行时,报依赖的类找不到
原因:maven默认生成的mojo必须寄生在某个工程下,例如在使用业务系统的pom文件中依赖该插件,或者命令行执行目录下有对应pom文件。
解决:修改mojo类,给@Mojo注解添加requiresProject = false 属性,使插件执行时不依赖任何业务工程,独立运行。
问题2:用简化插件名执行命令提示找不到插件
原因:maven默认只会去自身groupid下寻找插件,自定义的插件groupid无法识别。
解决:在maven的setting.xml文件的<pluginGroups>中添加<pluginGroup>your groupid</pluginGroup>,让maven能够找到我们自己定义的插件。