前言
在学习spring cloud 的项目知识中,遇到了许多小bug,在学习过程中以一套流程 创建新模块module->往pom.xml里面导入依赖->修改yml文件->主启动类springbootApplication->业务逻辑Controller->测试,这一套流程中往往卡在依赖导入这一部分,我遇到的问题就是springboot和springcloud版本不兼容的问题
报错信息:
1.无法解析 org.springframework.boot:spring-boot-actuator:2.2.2.RELEASE
2.Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
3.Could not find class [org.springframework.boot.actuate.audit.AuditEventsEndpoint]
4.AuditEventsEndpointAutoConfiguration
这是我遇到的报错信息我只截取了一部分在网络上查找,但是找到的答案都 似是而非
有的说是修改Maven的本地仓库,有的说是修改setting.xml,有的说是写一个配置类来进行修改,还有的是说springboot版本和springcloud版本不兼容的问题,其实就是这个!
我导入的依赖是:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
导入之后在pom.xml里面没有报红,但是在maven的依赖项上面,关于这个依赖就是下划线是红色,一直无法解析,并且启动类启动报错。
解决方案:
这个时候我们应该去springcloud 官网:去查看springcloud和springbootbanben兼容的内容
找到自己pom.xml中springcloud 的版本号 去对照springboot版本号是否正确
我这里的springcloud版本号是Hoxton.SR1,而springboot版本号是2.2.2RELEASE,如果这个springboot版本号不行,就还可以换成2.3.x.RELEASE的(x自己琢磨着取)
总结:
导入依赖的时候,可能因为网络的问题,导致依赖进不去,我么可以把依赖一点一点导进去,另外我们可以在正确的基础上选择与之相匹配的另一版本号