idea启动 同一个项目下的 两个module时,第二个启动的项目会直接使用第一个项目的端口,导致冲突,启动失败

本文探讨了在SpringCloud项目中,configserver与client共存于同一项目下时,出现的端口冲突问题。详细解析了问题根源在于configserver配置文件中的application.properties被默认加载至client配置中,覆盖本地配置,导致client使用configserver端口启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在学习spring cloud 的时候,遇到一个项目启动问题。详细如下
spring cloud configserver 和spring cloud client 同时在一个项目下,作为项目的两个module同时存在。
问题是:
当启动configserver 是正常启动 端口设置为8090, 之后再启动client 时,client内的端口配置8080不生效,启动时查看日志发现,client启动时使用的端口还是为8090。导致启动端口冲突,client无法正常启动

在网上查询各种解决方案无果。

尝试失败的解决方案有:
修改每个module的configuration ,将右上角的允许并行运行勾选上,问题依旧没有解决
在这里插入图片描述
找到解决方案了!!!!

原因:
spring config server 使用的是本地项目路径,指定路径下面有两个配置文件 1.application.properties 2. my-test-dev.properties
spring cloud client 中使用配置中心的时候,虽然指定了 读取的的
spring.cloud.config.profile=dev, 但是 application.properties 里面的内容依旧会被默认加载到客户端配置中取,并且覆盖本地的配置!!!
最后导致spring cloud client 项目使用的端口,使用的是配置中心 configserver的端口启动。

总结:
spring cloud config server指定的配置文件仓库中最好不要放置 application.properties 、bootstrap.properties 这种springboot 默认的文件名称。导致 客户端在读取配置的之后,默认会将这些文件中的配置信息一并加载进来。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值