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
相关产品推荐
相关产品推荐

