集成Eureka框架
依赖版本冲突问题
springboot与spring-cloud版本是有对应版本关系的
Finchley.BUILD-SNAPSHOT: "Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3"
Finchley.M2: "Spring Boot >=2.0.0.M3 and <2.0.0.M5"
Finchley.M3: "Spring Boot >=2.0.0.M5 and <=2.0.0.M5"
Finchley.M4: "Spring Boot >=2.0.0.M6 and <=2.0.0.M6"
Finchley.M5: "Spring Boot >=2.0.0.M7 and <=2.0.0.M7"
Finchley.M6: "Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1"
Finchley.M7: "Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2"
Finchley.M9: "Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE"
Finchley.RC1: "Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE"
Finchley.RC2: "Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE"
Finchley.SR4: "Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT"
Greenwich.BUILD-SNAPSHOT: "Spring Boot >=2.1.9.BUILD-SNAPSHOT and <2.2.0.M4"
Greenwich.M1: "Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE"
Greenwich.SR2: "Spring Boot >=2.1.0.RELEASE and <2.1.9.BUILD-SNAPSHOT"
Hoxton.BUILD-SNAPSHOT: "Spring Boot >=2.2.0.BUILD-SNAPSHOT"
Hoxton.M2: "Spring Boot >=2.2.0.M4 and <=2.2.0.M5"
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.M9</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.0.0.M8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<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>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.集成Eureka-server端注册服务器
- 在启动类上加注解:@EnableEurekaServer
- 配置application.properties:
server.port=8761 //端口号自定义
eureka.instance.hostname=localhost //实例的主机名称
eureka.client.register-with-eureka=false //禁用客户端
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/
//定义服务的url
启动项目看到下面内容,证明成功。
2.集成Eureka-Client端可以将子项目注册进去
- 修改依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-Client</artifactId>
<version>2.0.0.M8</version>
</dependency>
- 在启动类上加注解:@EnableDiscoveryClient
- 配置applacation.properties:
spring.application.name = xxxx //项目名称,以后注册到服务器上的名称
eureka.client.serviceUrl.defaultZone:http://localhost:8761/eureka/
//注册服务器的位置
看到如下application中有刚才注册的名称就算成功注册。