You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用openapi-generator-maven-plugin生成客户端执行mvn install无classes目录问题

问题根因

  • 源码目录配置不匹配:你在插件configOptions中指定了sourceFolder为src/gen/java/main,但Maven默认编译的源码目录为src/main/java,进入生成的client目录执行mvn install时,Maven无法识别到src/gen/java/main下的源码,不会执行编译逻辑,因此不会生成classes目录,主jar包也为空。
  • 两个jar包的产生原因:openapi-generator默认会在生成的客户端pom中集成了maven-source-plugin,会自动打包源码jar包,哪怕主jar没有编译出class文件,也会生成空的主jar和空的源码jar两个包。

解决方案

方案一:修改插件生成配置(推荐)

调整configOptions中的sourceFolder配置为标准Maven源码目录:

<sourceFolder>src/main/java</sourceFolder>

重新执行插件生成客户端后,进入对应目录执行mvn install即可正常编译源码、生成class文件和正确的jar包。
你当前配置的addCompileSourceRoot设为false是合理的,不需要修改,该配置的作用是避免把生成的客户端代码编译到当前父项目中,符合你单独打包客户端的需求。

方案二:修改生成后的客户端pom配置

如果需要保留src/gen/java/main的目录结构,可在生成的客户端pom的build节点中新增源码目录配置:

<build>
  <sourceDirectory>src/gen/java/main</sourceDirectory>
</build>

再执行mvn install即可正常编译。

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 21:09:01