
Spring Boot启动报错Port 8080 was already in use 解决方法在启动 Spring Boot 项目时有时会遇到下面的报错Web server failed to start. Port 8080 was already in use.这个报错的意思很简单Spring Boot 默认使用 8080 端口但是当前 8080 端口已经被其他程序占用了。常见原因包括上一次启动的 Spring Boot 项目没有关闭IDEA 中重复启动了同一个项目Tomcat 占用了 8080 端口Docker 或其他服务占用了 8080 端口其他 Java 程序正在监听 8080 端口一般有两种解决方法。一、找到并关闭占用 8080 端口的进程Windows 下打开 CMD执行netstat-ano|findstr8080如果输出类似TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345最后面的12345就是占用 8080 端口的进程 PID。继续执行tasklist|findstr12345可以查看具体是哪一个程序。如果确认这个进程可以关闭可以执行taskkill /PID12345/F执行完成后重新启动 Spring Boot 项目即可。二、修改 Spring Boot 默认端口如果当前占用 8080 的程序不能关闭也可以直接修改 Spring Boot 的启动端口。如果使用application.propertiesserver.port8081如果使用application.ymlserver:port:8081重新启动项目后访问地址改为http://localhost:8081三、IDEA 重复启动导致端口被占用开发过程中最常见的情况其实是之前的 Spring Boot 项目还在运行。例如第一次项目已经成功启动Started Application in 3.2 seconds这时如果再次点击运行按钮就可能出现Port 8080 was already in use这种情况不需要改配置直接在 IDEA 的运行窗口中停止之前的程序然后重新启动即可。四、Linux 下查看端口占用Linux 环境可以使用lsof-i:8080或者netstat-tunlp|grep8080找到 PID 后执行kill-9PID即可结束进程。五、随机端口启动Spring Boot 也支持使用随机端口server.port0启动后系统会自动选择一个可用端口。这种方式更适合测试环境普通项目开发一般还是建议使用固定端口。总结Spring Boot 出现Web server failed to start. Port 8080 was already in use.本质原因就是8080 端口已经被其他程序占用。Windows 下可以使用netstat-ano|findstr8080找到 PID再执行taskkill /PID PID /F如果不方便关闭对应进程也可以直接修改server.port8081通常就可以解决问题。