openapi-generator-maven-plugin无法生成实现代码问题咨询
核心问题1:实现类生成到target而非项目src目录
你当前的插件配置里,<output>${project.build.directory}</output>指定了所有生成文件的输出根目录为Maven的构建目录(即target)。虽然你设置了implFolder为src/main/java,但这个路径是相对output目录的,所以最终实现类会生成到target/src/main/java下,而非项目根目录的src。
核心问题2:.openapi-generator-ignore未生成到项目根目录
配置中的<ignoreFileOverride>${project.basedir}/.openapi-generator-ignore</ignoreFileOverride>的作用是指定插件使用你项目根目录已存在的ignore文件,而不是让插件自动生成这个文件到项目根。插件默认会在output目录(即target)下生成ignore文件,但这不是你需要的位置。
修复步骤
调整输出目录到项目根
修改插件配置中的output项:<output>${project.basedir}</output>这样所有生成的文件(API接口、模型、实现类)都会直接输出到项目根目录对应的路径下,实现类会出现在
src/main/java/portal/menu/rest/api/impl/。手动创建项目根的ignore文件
在项目根目录新建.openapi-generator-ignore文件,添加以下规则,确保实现类只生成一次,后续不会被覆盖:src/main/java/portal/menu/rest/api/impl/*迁移已生成的实现类(可选)
如果你已经在target目录生成过实现类,需要手动将target/src/main/java/portal/menu/rest/api/impl/ApplicationApiServiceImpl.java复制到项目根目录的对应路径下,再执行插件的generate目标。
补充说明
你之前的记忆没有偏差,旧版本的openapi-generator-maven-plugin默认output是项目根目录,而新版本需要显式配置。当前的问题完全是配置项设置导致的,功能并没有被移除。
内容的提问来源于stack exchange,提问作者paul

