spring boot启动失败最常见的原因是端口被占用,尤其默认8080端口;可快速通过修改配置文件端口、启动时动态指定端口或查找并终止占用进程三种方式解决。

先确认是不是端口问题
启动时看到类似下面这些报错,基本可以锁定是端口冲突:
- Failed to start component [Connector[HTTP/1.1-8080]]
- Address already in use: bind
- Web server failed to start. Port 8080 was already in use.
这些提示都指向同一个问题:你配置的端口(比如 8080)正被别的程序占着。
快速换一个端口(推荐新手)
最简单安全的办法,就是改配置,避开冲突端口:
- 在 application.yml 中修改:
server:
port: 8081(注意缩进和冒号后空格) - 在 application.properties 中写:
server.port=8081 - 或者不改文件,直接启动时指定:
java -jar app.jar --server.port=8081
查出并干掉占用进程(治本)
如果你希望继续用 8080,或者想清理后台“幽灵进程”,就定位并结束它:
-
Windows:打开命令提示符,运行
netstat -ano | findstr :8080
找到最后一列的 PID,再执行
taskkill /F /PID 1234(把 1234 换成实际 PID) -
macOS/Linux:终端执行
lsof -i :8080
拿到 PID 后运行
kill -9 1234
留意那些容易“偷偷占端口”的程序
除了另一个 Spring Boot 项目,以下这些也常默默霸占 8080:
- IDEA 自带的临时服务(尤其多次 Run 后没彻底 Stop)
- Navicat 的本地 Web 服务(某些版本启用时会开 HTTP 端口)
- Docker 容器、VMware 虚拟机里的服务
- Nginx、Apache、Tomcat 等 Web 服务器
关掉它们,或检查是否残留后台进程。











