OpenAPI Generator Maven Plugin自定义模板失效问题求助
解决OpenAPI Generator Maven Plugin自定义Lombok模板无效问题
模板结构与内容检查
首先确保自定义模板的路径和内容符合要求。标准目录结构应为:
src/main/resources └── openapi-templates └── JavaSpring └── model.mustache
模板内容替换为Lombok注解风格,示例如下:
package {{package}}; {{#imports}}import {{import}}; {{/imports}} import lombok.Data; @Data public class {{classname}} { {{#vars}} {{>modelAnnotation}} private {{datatype}} {{name}}; {{/vars}} }
用@Data注解替代手动生成的getter/setter,同时确保项目已引入Lombok依赖。
修正Maven插件配置
核心是正确指定模板目录,匹配生成器的模板约定。完整配置示例:
<plugin> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <version>6.6.0</version> <!-- 建议使用最新稳定版 --> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec> <generatorName>spring</generatorName> <packageName>com.your.package</packageName> <!-- 关键:指向存放自定义model.mustache的文件夹 --> <templateDirectory>${project.basedir}/src/main/resources/openapi-templates/JavaSpring</templateDirectory> <configOptions> <useLombok>true</useLombok> <!-- 自动适配Lombok配置,配合自定义模板更稳妥 --> <generateSetter>false</generateSetter> <generateGetter>false</generateGetter> </configOptions> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> </dependency> </dependencies> </plugin>
注意:generatorName设为spring时,对应的模板目录是JavaSpring,这是插件的固定约定,不要写错路径。
常见问题排查
- 文件名检查:必须是
model.mustache,拼写错误会导致插件加载默认模板 - 清理缓存:执行
mvn clean install,避免旧生成文件干扰结果 - 版本兼容:旧版本插件对模板路径的解析可能存在问题,优先升级到最新稳定版
- 配置冲突:如果
configOptions里useLombok设为false,会覆盖模板的Lombok配置,务必设为true
验证生成结果
运行mvn openapi-generator:generate后,查看生成的模型类,应该仅包含@Data注解和字段定义,无getter/setter方法。
内容的提问来源于stack exchange,提问作者ciro
相关产品推荐
相关产品推荐

