Spring Boot配置server.port修改端口不生效仍占用8080问题
Spring Boot配置
server.port=8082仍占用8080端口启动失败解决方案 报错描述:Web服务器启动失败,端口8080已被占用。
操作建议:找到并停止占用8080端口的进程,或配置该应用监听其他端口。
可按以下顺序排查解决问题:
- 确认
application.properties配置文件位置是否正确,必须放在src/main/resources根目录下,放在未被扫描的子目录会导致配置不生效 - 检查
server.port配置的写法是否正确,正确写法为server.port=8082,确认没有拼写错误、前后多余空格或不可见特殊字符 - 排查是否存在其他高优先级的端口配置覆盖了当前设置:
启动类main方法硬编码指定端口、自定义配置类通过ServletWebServerFactory强制设置8080端口、多环境配置文件(如application-dev.properties)中配置的端口优先级高于主配置文件,都会导致你的配置被覆盖 - 检查启动参数是否指定端口:IDE启动配置、命令行启动时如果携带了
--server.port=8080参数,该参数优先级高于配置文件,会直接覆盖你写的8082配置 - 确认修改配置后已重新编译:未重新编译的情况下运行的是旧的编译产物,配置不会生效,可先执行
mvn clean(Maven项目)或gradle clean(Gradle项目)清理旧产物后再重启应用 - 快速验证方案:可直接在启动命令中携带参数指定端口,该参数优先级最高,可直接生效,示例:
java -jar 你的项目包名.jar --server.port=8082
内容的提问来源于stack exchange,提问作者Prudhvi
相关产品推荐
相关产品推荐

