【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

相关推荐
Q26433650233 分钟前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计
撸串-研究生25 分钟前
基于Spring Boot的智慧社区垃圾分类与回收系统的设计与实现【附源码】
spring boot·后端·分类·垃圾分类·社区管理
悠仁さん25 分钟前
非类型模板参数的特化与偏特化
java·数据结构·算法
鬼手点金32 分钟前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习
ly768939 分钟前
PostgreSQL 流复制与高可用切换:主从延迟、同步提交与 Spring Boot 读写分离的边界
数据库·spring boot·postgresql·读写分离·流复制·高可用切换
171320330计算机毕设编程1 小时前
计算机毕业设计 基于Hadoop的新能源汽车发展前景分析 LW PPT
java·大数据·hadoop·python·算法·随机森林·线性回归
技术小结-李爽1 小时前
【工具】怎么在终端中启动springboot项目?
java·spring boot·后端·maven
Msshu1231 小时前
PD快充诱骗取电芯片工作原理,XSP17诱骗取电5V9V12V15V20V功能测试
spring boot·spring cloud·sentinel·java-rocketmq·java-zookeeper·java-consul·java-activemq
Shaoshing1 小时前
消息发送
java·开发语言