文章目录
-
- wentowent问题
- [已经接近解决了,只是 本地 Maven 依赖缓存还没有更新,所以仍然在使用 Java17 编译的旧依赖。](#已经接近解决了,只是 本地 Maven 依赖缓存还没有更新,所以仍然在使用 Java17 编译的旧依赖。)
-
-
- [为什么你改了 Knife4j 版本还报错](#为什么你改了 Knife4j 版本还报错)
- 隐藏坑
-
- 又一次错误
- 2.除了删除删除整个文件夹springdoc
-
- [重新执行`mvn clean install`](#重新执行
mvn clean install) - 需要在web的pom中引入相应依赖
- 还是为搞定,请参考下一篇
- [重新执行`mvn clean install`](#重新执行
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.
- D:\dev...Software\E.nment\maven\repository\org\springdoc
- 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 21lease\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