今天在利用SpringBoot和SpringCloud开发项目时,碰到了一个问题。
错误截图如下:
在出现错误后,去搜索了其他人解决这个问题报错的方法,又试了很久,但都不太适用于我的项目。
我仔细检查了我的依赖,SpringBoot使用的是2.7.0,swagger的版本是3.0.0,不存在不匹配的情况,后来以为是swagger的国内外两个版本的问题,又经过了一番尝试,但是发现依然报错。
最后,终于解决了这个问题,原来是 spring-boot-starter-actuator 这个依赖与我的swagger相冲突,只要注释这个依赖,无论国内的版本还是国外的原生swagger,项目均能启动成功了。
解决方法:
<!--swagger 3的starter依赖引入-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-actuator</artifactId>-->
<!-- <version>2.7.0</version>-->
<!-- </dependency>-->
也可以使用国内的swagger
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.0.RELEASE</version>
</dependency>
记得在启动类上加@EnableSwagger2注解,用于激活Swagger。
特在此记录,大家一起学习。如有错误,请指教。