嘿,我正在开发一个项目,我试图在服务器上注册尤里卡客户端,我很容易启用服务器,但不知何故无法让客户端启用我也添加了所需的所有依赖项。我还将在此处包含我的 pom.xml 文件
<?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>3.0.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mslab</groupId>
<artifactId>movie_service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>movie_service</name>
<description>Movie Service </description>
<properties>
<java.version>17</java.version>
<spring-cloud.version>2022.0.0-RC2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</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>
<version>${project.parent.version}</version>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>netflix-candidates</id>
<name>Netflix Candidates</name>
<url>https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
我已经使用了之前一些类似问题上可用的大部分技术,但我无法解决这个问题。
您不需要添加注释即可使服务成为 eureka 客户端。
@EnableEurekaClient 注解在以下 Spring Cloud 版本中不可用
如果你确实想添加注解,可以使用@EnableDiscoveryClient
Eureka版本
4.0.0
开始,在Spring Cloud中使用2022.0.0
,您不需要使用注释显式注册@EnableEurekaClient
如果 spring-cloud-starter-netflix-eureka-client 它会自动注册为客户端位于类路径上。
根据 -
文档
通过在类路径上添加 spring-cloud-starter-netflix-eureka-client, 您的应用程序会自动注册到 Eureka Server。 需要配置来定位 Eureka 服务器
我只在 pom.xml 文件中进行更改
<properties> <spring-cloud.version>2021.0.4</spring-cloud.version> </properties>
和<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>