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

搭建Eureka集群时指定yml配置启动SpringBoot端口不生效如何解决

Eureka集群多环境配置端口不生效解决方案

核心根因

端口不生效本质是profile激活规则写错,Spring Boot 读取application-xxx.yml格式的多环境配置时,只需要识别xxx部分作为profile名,不需要填写完整配置文件名。

具体修复步骤

  • 修正全局配置激活写法
    如果你新增了application.yml作为全局配置,正确配置格式如下:
spring:
  profiles:
    active: replica1

注意不要加application-前缀,也不要带.yml后缀

  • 修正IDEA启动配置写法
    在Edit Configuration中两种生效方式二选一即可:
    1. Program arguments栏填入:--spring.profiles.active=replica1
    2. VM options栏填入:-Dspring.profiles.active=replica1
  • 验证profile是否生效
    启动项目时查看控制台输出,找到类似The following profiles are active: replica1的日志,确认profile已被正确激活。如果没有对应输出,说明激活配置未生效,自然会使用Spring Boot默认的8080端口。
  • 额外排查项
    检查application-replica1.yml的缩进格式是否正确,server.port必须为顶层配置,不能嵌套到spring等其他节点下,正确格式示例:
server:
  port: 18081
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: replica1
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://replica2:18082/eureka/

如果上述操作都完成仍不生效,删除项目的target目录后重新编译启动即可,部分场景下缓存的旧配置会导致读取异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:15:04