文章目录
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
com.github.xiaoymin
knife4j-openapi3-spring-boot-starter
4.3.0
```
### 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
com.github.xiaoymin
knife4j-openapi3-spring-boot-starter
```
如果还有缓存问题,删除:如果还有缓存问题,删除:.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