Client端pom依赖启动类服务启动后无法注册到Eureka,如何解决?

万能的网友!在网上找了好久都没找答案
@EnableEurekaClient注解不生效,无法注册到Eureka
使用的版本
jdk 19
spring-cloud版本:2022.0.2
spring-boot版本:3.0.5

Server端

img


pom依赖

img


启动类

img

Client端

img


pom依赖

img


启动类

img


服务启动后无法注册到Eureka

img

以下内容引用CHATGPT、有用望采纳:

首先,检查一下Client端是否能够连接到Eureka Server。可以使用curl或者Postman等工具尝试访问Eureka Server的REST接口,例如http://localhost:8761/eureka/apps%EF%BC%8C%E6%9F%A5%E7%9C%8B%E6%98%AF%E5%90%A6%E8%83%BD%E5%A4%9F%E6%AD%A3%E5%B8%B8%E8%8E%B7%E5%8F%96%E5%88%B0%E6%B3%A8%E5%86%8C%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%88%97%E8%A1%A8%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E8%83%BD%E6%AD%A3%E5%B8%B8%E8%AE%BF%E9%97%AE%EF%BC%8C%E5%88%99%E9%9C%80%E8%A6%81%E6%A3%80%E6%9F%A5%E4%B8%80%E4%B8%8BClient%E7%AB%AF%E7%9A%84%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE%EF%BC%8C%E7%A1%AE%E4%BF%9D%E8%83%BD%E5%A4%9F%E8%BF%9E%E6%8E%A5%E5%88%B0Eureka Server。

其次,检查一下Client端的配置是否正确。需要确保application.yml中的eureka.client.service-url.defaultZone配置正确,可以使用Eureka Server的管理界面查看一下注册的Client服务信息,确认一下Client的instance-id是否正确配置。可以尝试将日志级别调整为debug,查看一下相关日志信息,确定一下注册过程中出现的问题。

最后,可以尝试将@EnableEurekaClient注解替换成@EnableDiscoveryClient注解,检查一下是否能够正常注册到Eureka Server。如果能够正常注

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
首先,可以先检查一下以下几点,确定是否符合Eureka Client注册的要求:

  1. 确认Eureka Server服务已经正常启动,并且Eureka Server地址已经配置正确。

  2. 确认Eureka Server服务端的pom依赖是否正确,比如是否添加了spring-cloud-starter-netflix-eureka-server依赖。

  3. 确认Client端的pom依赖是否正确,比如是否添加了spring-cloud-starter-netflix-eureka-client依赖。

  4. 确认启动类上是否添加了@EnableEurekaClient注解,该注解标志该应用为Eureka Client应用,并且会自动在Eureka Server注册服务。

如果以上几点都没问题,还是无法注册到Eureka,可以参考以下解决方法:

  1. 尝试在Client端进程启动时,手动添加一个延时等待的代码片段,等待Eureka Server服务完全启动完成后再进行注册:

    @EnableEurekaClient
    @SpringBootApplication
    public class ClientApplication {
    
     public static void main(String[] args) {
         SpringApplication.run(ClientApplication.class, args);
     }
    
     @Bean
     public ApplicationRunner applicationRunner() {
         return args -> {
             Thread.sleep(10000); //等待10秒,确保服务完全启动完成
         };
     }
    }
    
  2. 尝试在bootstrap.yaml或者bootstrap.properties中手动配置Eureka Client的相关配置项:

    spring:
    cloud:
     config:
       allow-override: true
       name: config
       uri: http://localhost:8000
    application:
     name: client
    profiles:
     active: test
    eureka:
    client:
     register-with-eureka: true
     fetch-registry: true
     service-url:
       defaultZone: http://localhost:8761/eureka #修改为Eureka Server地址
    

许多其他的原因可能也会导致无法注册到Eureka,比如网络问题、防火墙设置等,以上解决方法仅供参考。
如果我的回答解决了您的问题,请采纳!

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^