问题描述
- 学习Eureka的时候开始就被Springcloud和Eureka的版本匹配问题搞吐了,一直报错
- 报错如下:
Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource
原因分析:
- 网上大家说这个问题就是Springcloud和Netflix提供的Eureka的版本有冲突导致的
- 问题是找了半天也没有找到版本匹配表,有个办法是让maven自动匹配两者版本
- 结果我在dependencyManagement中加入了自动匹配版本的东西还是不行
看了别人的pom配置,发现根本问题是没有在properties中指定springcloud的版本
如果不指定springcloud版本,即时自动匹配版本也会报错
解决方案:
操作步骤:
- 应该第一步做的,就是查看了Springboot和Springcloud版本对应后,先在property中指定springcloud版本
<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><spring-cloud.version>2021.0.1</spring-cloud.version></properties>
我这里用的2.6.4的springcloud对应的版本是2021.0.1 具体版本参考这位老哥的
- 如果是有父子工程的,就在父pom的dependencyManagement中加入自动匹配依赖的代码,这样子工程中就会被锁定版本,注意dependencyManagement只是声明了依赖,子依赖需要用的时候还是要在dependency中显式声明
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
- Eureka的依赖版本不要填,因为dependencyManagement中指定了版本,交给maven自动匹配就好,写死了反而会报错
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>
如果是在一个工程里的,pom中就是这样
<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><spring-cloud.version>2021.0.1</spring-cloud.version></properties><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
标签:
eureka
spring cloud
本文转载自: https://blog.csdn.net/m0_60394632/article/details/125532970
版权归原作者 RedGhost117 所有, 如有侵权,请联系我们删除。
版权归原作者 RedGhost117 所有, 如有侵权,请联系我们删除。