🎬 HoRain 云小助手个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

Web server failed to start. Port 8080 was already in use. 解决方案

🔍 一、快速定位占用进程(必做第一步)

Windows 系统

Linux / macOS 系统

🛠️ 二、三种主流解决方案(按推荐度排序)

✅ 方案1:终止占用进程(推荐首选)

✅ 方案2:修改应用端口(开发常用)

✅ 方案3:启用随机端口(适合测试环境)

🚨 三、特殊情况处理

💡 四、预防建议(避免重复踩坑)

⚠️ 重要提醒


Web server failed to start. Port 8080 was already in use. 解决方案

当Spring Boot应用启动时出现此错误,说明8080端口已被其他进程占用。以下是高效、安全、可操作的解决方案:


🔍 一、快速定位占用进程(必做第一步)

Windows 系统

# 1. 查找占用8080端口的PID
netstat -ano | findstr :8080

# 2. 查看该PID对应程序(替换1234为实际PID)
tasklist | findstr 1234

# 3. 强制终止进程(含子进程)
taskkill /F /PID 1234 /T

💡 提示:务必以管理员身份运行CMD,否则可能无权限终止进程

Linux / macOS 系统

# 查找占用进程
lsof -i :8080

# 强制终止(替换1234为实际PID)
kill -9 1234

🛠️ 二、三种主流解决方案(按推荐度排序)

✅ 方案1:终止占用进程(推荐首选)

  • 适用场景:确认是旧项目残留进程(如Java.exe、node.exe等)
  • 操作:按上述命令终止后重启应用
  • 验证:重启后日志显示 Tomcat started on port(s): 8080

✅ 方案2:修改应用端口(开发常用)

在配置文件中修改:

# application.properties
server.port=8081
# application.yml
server:
  port: 8081

🌐 访问地址同步改为 http://localhost:8081

✅ 方案3:启用随机端口(适合测试环境)

# application.properties
server.port=0  # Spring Boot会自动分配空闲端口

启动日志中会显示实际使用的端口号(如 Tomcat started on port(s): 54321


🚨 三、特殊情况处理

场景 解决方案
进程无法终止 检查是否被系统服务占用(如IIS、SQL Server),通过 services.msc 停止相关服务
IDEA中多次启动残留 关闭所有IDEA实例 → 任务管理器结束所有java.exe进程 → 重启IDEA
端口释放后仍报错 执行 netsh winsock reset(Windows)后重启电脑
不确定进程是否重要 先通过任务管理器查看进程名称,避免误杀系统关键进程

💡 四、预防建议(避免重复踩坑)

  1. 开发习惯:关闭应用时使用 Ctrl+C 正常终止,避免直接关掉终端
  2. IDE配置:在IDEA中设置 Run/Debug Configurations → 勾选 "Allow parallel run"(允许多实例)
  3. 端口管理:团队协作时统一端口规范,或使用环境变量动态指定端口:
    System.getenv().getOrDefault("SERVER_PORT", "8080")
    
  4. 监控工具:安装 Process Explorer(微软官方工具)可视化管理端口占用

⚠️ 重要提醒

  • 切勿盲目终止进程!先确认进程用途(如java.exe可能是其他重要服务)
  • 修改端口后,前端调用地址、Postman测试链接需同步更新
  • 生产环境严禁使用随机端口,需固定且通过防火墙开放

按照以上步骤操作,99%的端口占用问题可快速解决。如仍遇困难,建议检查防火墙设置或网络策略限制。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐