手把手教你解决spring boot导入swagger2版本冲突问题,刘老师教编程

news/2024/10/6 4:24:30/文章来源:https://www.cnblogs.com/luckyzthao/p/18285608

手把手教你解决spring boot导入swagger2版本冲突问题

本文仅为个人理解,欢迎大家批评指错

首先Spring Boot 3 和 Swagger 2 不兼容。在 Spring Boot 3 中,应该使用 Springdoc 或其他与 Spring Boot 3 兼容的 API 文档工具来替代 Swagger 2。
Swagger 2 的依赖底层使用的是 javax 依赖包,而 Spring Boot 3 使用的是 Jakarta 依赖包。一般来说,可以将 Spring Boot 的版本降到 3.0.1 以下来解决这个问题,但如果想要使用 3.0.1 版本以上的 Spring Boot,启动时就会出现报错。

  1. 去pop.xml查看你springframework的版本,如果你已经是Spring boot3了,像我这里是当前的最新版3.3.1,那就改成2.7.2,改完之后点击右上角m形状的刷新按钮
    alt text

  2. 改完之后使用了HttpServletRequest和HttpServletResponse的类应该都会报错,也是因为我之前提到的Swagger 2 的依赖底层使用的是 javax 依赖包,而 Spring Boot 3 使用的是 Jakarta 依赖包。
    alt text

此时不用导入这个依赖,加入了也没用spring boot2也不用这个.

<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version><scope>provided</scope>
</dependency>

来个错误演示,加了之后的效果
alt text

这是因为Swagger 2 的依赖底层使用的是 javax 依赖包
alt text

正确做法加入这两个包替换原来的包就行了,很简单

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  1. 在添加Swagger依赖之前先运行一下,如果你没报错但是运行失败,那就是java版本太高了,像我这里就是21
    alt text
    alt text

  2. 剩下就简单了,修改application.properties

因为Spring Boot 2.6.X后与Swagger有版本冲突问题,需要加入以下配置

spring.mvc.pathmatch.matching-strategy=ant_path_matcher
  1. 修改pop.xml
<!-- 添加swagger2相关功能-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency>
<!-- 添加swagger-ui相关功能-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
</dependency>
  1. 在config目录下新建一个配置类
@Configuration  //告诉Spring容器这是一个配置类
@EnableSwagger2 //开启Swagger的功能
public class SwaggerConfig {@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com"))//com包下的所有AIP都交给Swagger2管理.paths(PathSelectors.any()).build();}/*** 这里为API文档显示的信息*/private ApiInfo apiInfo(){return new ApiInfoBuilder().title("演示项目API").description("学习Swagger2的演示项目").version("1.0").build();}}

成功运行
alt text

  1. 最后一步输入网址即可http://localhost:8080/swagger-ui.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/738726.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux(Centos7)安装Docker 社区(ce)版

安装准备 查看Linux系统版本是否为centos7 cat /etc/os-release确保系统内核为3版本以上 uname -a安装Docker 如之前安装过请卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker…

srpingboot 初识

依赖管理父项目(一直网上找)spring-boot-dependencies 决定了当前 springboot 预先配置的所有依赖及版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.3.4.RELEAS…

windows配置环境变量

前言 环境变量的目的是为了让为了终端简化命令行操作,使系统能够找到所需的程序和工具或文件,并优化系统的运行环境。 比如我有一个文件 D:\doc\a.txt ,如果我们打开终端打开此文件,则需要输入D:\doc\a.txt但是如果我们将D:\doc配置为环境变量,我们则可以直接终端中输入 a…

服务器忘记IP后找回IP地址

在工程现场,我们时常会遇到忘记BMC IP地址的情况,在忘记BMC IP后有两种方法可以帮助我们找回忘记的IP地址 1、外接显示器(在服务器开机过程中右下角会显示出IP地址)2、通过抓包软件(Wireshark)来抓取设备发到广播报 前提条件服务器先完全断电 电脑网口和IPMI口直连,确保…

【日记】今天好忙(316 字)

正文今天一整天都是疯忙的节奏。上午开户,一来来俩。从 9 点到 12 点,中间连轴转没停过。昨天睡得还可以,不过上午依旧很困。昨晚跟兄长打了一晚上的掳人少女人偶,没打过…… 宫崎英高!你罪该万死!搞这么难…….昨晚也因为去的时候在下雨,所以没什么人来练习。只有我和大…

KIM论文阅读笔记

Personalized News Recommendation with Knowledge-aware Interactive Matching论文阅读笔记 Abstract 现存的问题: ​ 现有的大多数新闻推荐方法都是从文本内容和用户点击的新闻中分别建立候选新闻模型和用户兴趣模型。然而,一篇新闻可能涉及多个方面和实体,而用户通常有不…

Docker 构建nginx镜像

步骤: (1)创建一个目录,把构建Nginx的Dockerfile文件保存到此目录。 创建一个名为nginxDockerfile的目录。mkdir nginxDockerfile(2)进入刚才创建好的目录。cd nginxDockerfile(3)创建Dockerfile文件。vim dockerfile 文件内容如下FROM centos MAINTAINER xpx RUN yum…

es库-连接工具-chrome插件:Elasticsearch-Head

Elasticsearch-Head如何连接es数据库呢: 1.下载Elasticsearch-Head插件压缩包 2.解压文件夹,是这样的: 3.打开chrome浏览器的 扩展程序管理 然后,点击“加载已解压的扩展程序”: 找到 并且选中 你压缩es-head文件夹的根目录-》点击“选择文件夹”: 到目前就加载上es-head…

《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(五)

此系列答案配套《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》一书相关内容。所有内容为博主个人编辑,仅作参考学习交流之用,转载请注明出处。如发现错误,请联系博主及时勘误。如有侵权行为,博主将立即下架全部内容。声明:此系列答案配套《计…

《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(四)

此系列答案配套《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》一书相关内容。所有内容为博主个人编辑,仅作参考学习交流之用,转载请注明出处。如发现错误,请联系博主及时勘误。如有侵权行为,博主将立即下架全部内容。声明:此系列答案配套《计…

数字经济时代:AI+引领企业数字化新高度

"AI+"指将人工智能技术与各行各业深度融合,从研发到场景应用再到产业打造,实现全链条赋能,是数字经济中创新应用的典型代表,也是传统企业转型升级的强大引擎——不仅是技术层面的创新,更是一种全新的思维方式和工作模式,要求企业在战略规划、组织结构、业务流程…