Spring Boot修改application.properties端口后,重启或改代码恢复默认如何解决?
解决Spring Boot热重启后端口变回8080的问题
针对修改代码或重启项目后端口自动恢复为8080的问题,可尝试以下几种解决方案:
1. 确认配置文件的位置与优先级
- 保证
application.properties文件放在src/main/resources目录下,这是Spring Boot默认读取配置的路径。 - 排查是否存在优先级更高的配置(如
application-dev.properties这类环境配置文件、系统环境变量、IDE启动参数)覆盖了server.port的设置。
2. 通过启动参数强制锁定端口
直接在项目启动时指定端口,避免热重启过程中配置被忽略:
- VM启动参数:在IDE运行配置中添加VM选项:
-Dserver.port=8081 - 程序启动参数:在IDE运行配置中添加程序参数:
--server.port=8081
3. 配置DevTools确保重启时加载配置
在application.properties中添加以下配置,让DevTools热重启时正确读取端口设置:
# 显式启用DevTools重启功能(默认已启用,可避免隐式失效) spring.devtools.restart.enabled=true # 指定监听配置文件目录,确保配置变更时触发正确重载 spring.devtools.restart.additional-paths=src/main/resources
4. 排查硬编码或其他覆盖项
- 检查启动类是否存在硬编码指定端口的代码,例如:
@SpringBootApplication public class FormsJavaApplication { public static void main(String[] args) { SpringApplication.run(FormsJavaApplication.class, "--server.port=8080"); } } - 查看
pom.xml是否添加了覆盖端口的属性配置:<properties> <server.port>8080</server.port> </properties>
5. 清理IDE缓存(针对IDEA等工具)
若因IDE缓存导致配置未更新,可执行:
- 点击
File -> Invalidate Caches... - 勾选"Invalidate and Restart",重启IDE后重新启动项目
内容的提问来源于stack exchange,提问作者Toms_Hd3z
相关产品推荐
相关产品推荐

