简单配置eureka的maven版本控制
·
前言
看过eureka很久,也在项目中用过,但是自己没有搭建过,这两天踩了好多坑。
结构

采用了主项目内继承springboot控制版本。内部添加cloud-eureka的可选依赖,为里面的模块添加依赖。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
····
<modules>
<module>catnap-admin</module>
<module>catnap-common</module>
</modules>
<properties>
<spring-cloud.version>2020.0.3</spring-cloud.version>
<netflix.version>3.0.3</netflix.version>
<catnap.version>1.0.0</catnap.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<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>
<dependencies>
<dependency>
<groupId>com.kqdesenlin.admin</groupId>
<artifactId>catnap-admin</artifactId>
<version>${catnap-version}</version>
</dependency>
<dependency>
<groupId>com.kqdesenlin</groupId>
<artifactId>catnap</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
</plugins>
</build>
子模块继承父模块,然后内部添加eureka依赖。
<parent>
<artifactId>catnap</artifactId>
<groupId>com.kqdesenlin</groupId>
<version>1.0.0</version>
</parent>
···
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>${netflix.version}</version>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.3</version>
</plugin>
</plugins>
</build>
踩坑
1. 版本控制,版本控制是遇到的最大的问题,首先是springboot和springcloud的版本匹配,根据网上的教程访问该链接start.spring.io/actuator/info,可以查询springboot和cloud的版本。如图下:

在这里我们知道了对应关系,然后找版本,发现网上对springcloud版本都是代号来定义引用的

那么问题来了,这个2020.0.3是啥,经过一番寻找,我发现确实有一个版本,而且是最新版本是2020.0.3
现在知道了springboot的版本,springcloud的版本。
2. 是否需要添加version,在网上的教程中,例如https://blog.csdn.net/russle/article/details/80865830,里面讲到,如果添加了spring-cloud版本,就不需要给eureka的依赖添加版本,因为会自动配置,而我很苦逼的在这里搞了很久,因为我的eureka不会自动添加版本,所以有相同问题的,记得添加个版本号。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>${netflix.version}</version>
</dependency>
更多推荐

所有评论(0)