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

SpringBoot3中用OpenAPI Maven插件无法移除javax.annotation.Generated

解决SpringBoot3中OpenAPI Generator生成javax.annotation.Generated注解的问题

针对生成代码中残留javax.annotation.Generated注解的问题,有两种可行解决方式:

方案1:直接禁用生成@Generated注解

在插件配置的configOptions中新增<generateGeneratedAnnotation>false</generateGeneratedAnnotation>,彻底取消该注解的生成:

修改后的插件配置片段:

<configOptions>
    <useJakartaEe>true</useJakartaEe>
    <library>spring-boot</library>
    <useSpringController>true</useSpringController>
    <useSpringfox>false</useSpringfox>
    <useSpringBoot3>true</useSpringBoot3>
    <oas3>true</oas3>
    <useTags>true</useTags>
    <interfaceOnly>false</interfaceOnly>
    <enableBuilderSupport>true</enableBuilderSupport>
    <collectionFluentPattern>true</collectionFluentPattern>
    <openApiNullable>false</openApiNullable>
    <dateLibrary>java8</dateLibrary>
    <serializableModel>true</serializableModel>
    <delegatePattern>true</delegatePattern>
    <useBeanValidation>true</useBeanValidation>
    <hideGenerationTimestamp>true</hideGenerationTimestamp>
    <simpleFluentPattern>true</simpleFluentPattern>
    <unhandledException>true</unhandledException>
    <!-- 禁用@Generated注解生成 -->
    <generateGeneratedAnnotation>false</generateGeneratedAnnotation>
</configOptions>

方案2:生成Jakarta版本的@Generated注解

如果需要保留生成标记,可指定使用Jakarta EE版本的注解,在configOptions中新增<generatedAnnotation>jakarta.annotation.Generated</generatedAnnotation>:

修改后的插件配置片段:

<configOptions>
    <useJakartaEe>true</useJakartaEe>
    <library>spring-boot</library>
    <useSpringController>true</useSpringController>
    <useSpringfox>false</useSpringfox>
    <useSpringBoot3>true</useSpringBoot3>
    <oas3>true</oas3>
    <useTags>true</useTags>
    <interfaceOnly>false</interfaceOnly>
    <enableBuilderSupport>true</enableBuilderSupport>
    <collectionFluentPattern>true</collectionFluentPattern>
    <openApiNullable>false</openApiNullable>
    <dateLibrary>java8</dateLibrary>
    <serializableModel>true</serializableModel>
    <delegatePattern>true</delegatePattern>
    <useBeanValidation>true</useBeanValidation>
    <hideGenerationTimestamp>true</hideGenerationTimestamp>
    <simpleFluentPattern>true</simpleFluentPattern>
    <unhandledException>true</unhandledException>
    <!-- 指定Jakarta版本的@Generated注解 -->
    <generatedAnnotation>jakarta.annotation.Generated</generatedAnnotation>
</configOptions>

修改完成后,执行mvn clean generate-sources重新生成代码,即可解决注解包名不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:50:20