You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.2.0 + Java 17下Netflix Eureka Client配置报错求助

解决Spring Boot 3.2.x + Eureka Client 4.1.x配置错误及注册问题

一、修复TransportClientFactories依赖缺失错误

报错核心是Spring Cloud Netflix 4.1.x版本默认移除了Jersey传输组件依赖,导致Eureka Client初始化时找不到TransportClientFactories类型的bean。提供两种解决方式:

方案1:添加Jersey传输依赖

在Maven pom.xml 中加入以下依赖,补全Jersey相关的传输实现:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-eureka-client-jersey</artifactId>
    <version>4.1.0</version>
</dependency>

方案2:使用Spring原生WebClient传输(推荐)

无需额外依赖,只需在application.properties中指定使用Spring WebClient作为传输客户端:

eureka.client.transport.type=spring

该配置会让Eureka Client使用Spring原生的HTTP客户端,避开对Jersey组件的依赖。

二、完善Eureka Client注册配置

补充以下配置到application.properties,确保应用能正确注册到本地Eureka Server:

# 设置应用名称,在Eureka控制台中显示
spring.application.name=spring-boot-3-eureka-client
# 允许应用注册到Eureka Server(默认值为true,显式配置更清晰)
eureka.client.register-with-eureka=true
# 允许拉取服务注册表(默认值为true)
eureka.client.fetch-registry=true
# 你的Eureka Server地址(保留原有配置即可)
eureka.client.service-url.defaultZone=http://admin:alined@localhost:8761/eureka/

三、主类优化(可选)

虽然新版Spring Cloud会自动识别Eureka Client依赖并启用客户端功能,但显式添加@EnableDiscoveryClient注解可让配置更直观:

@SpringBootApplication
@EnableDiscoveryClient
public class SpringBoot3Java17Application {
    public static void main(String[] args) {
        SpringApplication.run(SpringBoot3Java17Application.class, args);
    }
}

四、验证注册结果

启动应用后,访问本地Eureka Server控制台 http://localhost:8761,使用用户名admin、密码alined登录,即可在"Instances currently registered with Eureka"列表中看到你的服务。

内容的提问来源于stack exchange,提问作者Sikandar Sahab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:52:37