Windows 10本地运行两个Spring Boot应用遇端口绑定异常求助
解决Spring Boot多版本启动端口冲突问题
排查配置优先级问题
- 确认新版本的
application.yml在src/main/resources目录下,且server.port确实设置为8081,无拼写错误(比如误写为server.portt)。 - 检查IDEA的Run/Debug配置:打开新版本的运行配置面板,查看Program arguments或VM options中是否存在
--server.port=8084或-Dserver.port=8084参数——这类启动参数优先级高于yml配置,会直接覆盖你的设置。 - 检查系统环境变量:Windows中查看是否设置了
SERVER_PORT环境变量,Spring Boot会优先读取环境变量中的端口配置。
检查代码硬编码
- 搜索新版本代码中是否存在硬指定端口的逻辑,比如:
或者配置类中直接设置Tomcat端口:@Value("${server.port:8084}") private String port;
这类硬编码会直接覆盖yml文件的配置。@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.setPort(8084); return tomcat; }
清理IDEA缓存
- 点击IDEA顶部菜单
File->Invalidate Caches...,选择Invalidate and Restart重启IDE,避免缓存导致配置未更新。
验证端口占用状态
- 打开Windows命令提示符,执行以下命令确认端口占用情况:
确认8081端口是否空闲,同时核对8084端口的占用进程ID是否为旧版本Spring Boot的进程。netstat -ano | findstr "8084" netstat -ano | findstr "8081"
内容的提问来源于stack exchange,提问作者Subhendu Mahanta
相关产品推荐
相关产品推荐

