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 里应该有:

<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

错误
[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层会需要

<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]

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐