【idea | knife4j | springboot2/3|接上篇】knife4j版本号与spring boot版本不兼容问题

文章目录

wentowent问题

问题未解决,knife4j不兼容版本问题为解决,该篇文章未彻底解决

。因此需要在这儿进一步说明解决处理点。

描述

已经接近解决了,只是 本地 Maven 依赖缓存还没有更新,所以仍然在使用 Java17 编译的旧依赖。

错误的类文件: D:...*

文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。

INFO 1 error

报错的关键:类文件具有错误的版本 61.0, 应为 52.0

为什么你改了 Knife4j 版本还报错

虽然依赖坐标的版本变了,但你的本地 Maven 依赖目录里 已经缓存了旧依赖:
springdoc-openapi-starter-common-2.0.4

l路径在:D:\dev....oftware\Environmen..\maven\repository\org\springdoc\.

Maven 不会自动删除旧版本依赖,所以编译时仍然加载它。

@@@

最直接解决方法(推荐)

最直接解决方法(推荐)

jin进入目录中。

删除整个文件夹springdoc,然后mvn clean install

mvn clean installMaven 会重新下载正确版本。

隐藏坑

复制代码
之前父工程里写的是:`knife4j-openapi3-jakarta-spring-boot-starter`这个是 SpringBoot3 专用版本.

这个是 SpringBoot3 专用版本·knife4j-openapi3-spring-boot-starter·.少了 jakarta。

又一次错误

!!!D:\project\spring_project\lease\web\web-admin\src\main\java\com\atguigu\lease\web\admin\controller\apartment\ApartmentController.java:12:37 java: 程序包io.swagger.v3.oas.annotations不存在。

这个问题是不是因为这个v3什么的只在jakarta这个包里有,换了springboot2的knife4j-openapi3-spring-boot-starter相应的代码需要修改吗?**

报错: 程序包io.swagger.v3.oas.annotations不存在。
这个错误其实和 Knife4j版本 + SpringDoc依赖有关,我们一步一步解释。

报错说明:说明 Swagger / OpenAPI 的注解依赖没有被引入。

io.swagger.**v3.oas.annotations这个包属于哪个库?

io.swagger.v3.oas.annotations 来自 Swagger OpenAPI Annotations(OpenAPI 3 规范的注解库)。

常见注解:import io.swagger.v3.oas.annotations.Operation;

import io.swagger.v3.oas.annotations.tags.Tag;

这些注解不是 Knife4j 提供的,而是 SpringDoc + Swagger 注解库提供的。

为什么会突然消失?

yinw因为∵ 之前用的是knife4j-openapi3-jakarta-spring-boot-starter.

之前的会自动带上:依赖会自动带上:springdoc-openapi swagger-annotations

danxianzaishi但现在是knife4j-openapi3-spring-boot-starter

如果 Maven 没重新解析依赖,就会导致 Swagger 注解库没有加载。

@@

先确认依赖是否正确?

在 web-admin/pom.xml 里应该有:

xml 复制代码
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
    <version>4.3.0</version>
</dependency>

2.除了删除删除整个文件夹springdoc

现在还需要手动删除D:\deve..ware\Env...ment\maven\repository\io\swagger.

  1. D:\dev...Software\E.nment\maven\repository\org\springdoc
  2. D:\dev...e...are\E...onment\maven\repository\io\swagger


重新执行mvn clean install

错误
sql 复制代码
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line
20, column 21
[ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line
15, column 21
 @
[ERROR] The build could not read 2 projects -> [Help 1]
[ERROR]
[ERROR]   The project com.atguigu:model:1.0-SNAPSHOT (D:\project\spring_project\lease\model\pom.xml) has 1 error
[ERROR]     'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ l
ine 20, column 21
[ERROR]
[ERROR]   The project com.atguigu:web-app:1.0-SNAPSHOT (D:\project\spring_project\lease\web\web-app\pom.xml) has 1 error
[ERROR]     'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ l
ine 15, column 21
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
  • [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 20, column 21 [ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 15, column 21
  • \lease\model\pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ l ine 20, column 21
  • lease\web\web-app\pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ l ine 15, column 21

需要在web的pom中引入相应依赖

因为他在controller层会需要

xml 复制代码
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
</dependency>

如果还有缓存问题,删除:如果还有缓存问题,删除:.m2/repository/com/github/xiaoymin

然后再编译。

还是为搞定,请参考下一篇

问题
复制代码
 [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 20, column 21
[ERROR] 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 15, column 21
 @ 

:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing.& com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 15, column 21

说明,对应springboot3的版本还没彻底清除,我们往下看。

lease\model\pom.xml ) has 1 error

ERROR 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter :jar is missing. @ line 20, column 21

ERROR

从上面信息,我们能看到model模块还有该依赖,而且还不正确!需做修改。

同理,lease\web\web-app\pom.xml) has 1 error

ERROR 'dependencies.dependency.version' for com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:jar is missing. @ line 15, column 21

ERROR

相关推荐
huohaiyu1 小时前
深入解析Java垃圾回收机制
java·开发语言·算法·gc
SunnyDays10112 小时前
如何在 Java 中实现 OFD 与 PDF 格式互转
java·开发语言
小江的记录本2 小时前
【Spring全家桶】Spring Cloud 2023.0.x:微服务核心理论、CAP/BASE定理(附《思维导图》+《面试高频考点清单》)
java·spring boot·后端·spring·spring cloud·微服务·面试
Solis程序员2 小时前
缓存三剑客预防策略
java·spring·缓存
我登哥MVP3 小时前
Spring Boot 从“会用”到“精通”:Model-Map原理
java·spring boot·后端·spring·servlet·maven·mybatis
程序猿乐锅3 小时前
【苍穹外卖|Day02】后台接口自测闭环:Token、DTO 与 yml 配置
java·开发语言
心之伊始3 小时前
Spring Boot Actuator + Micrometer 自定义业务指标:不只是健康检查
java·架构·源码分析·csdn
Eason_LYC3 小时前
【GetShell 实战】CVE-2026-34486 Tomcat 加密拦截器绕过:从漏洞验证到反弹 Shell 全流程
java·渗透测试·tomcat·java反序列化·rce·远程代码执行漏洞·cve-2026-34486
qq_2518364573 小时前
基于java 税务管理系统设计与实现
java·开发语言