You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Eclipse中正确重启Spring Boot应用?解决端口占用问题

解决Eclipse中Spring Boot重启端口被占用的问题

兄弟,你说的这个情况我太熟了!每次手动杀进程完全不是常规操作,Eclipse默认应该帮你处理旧实例的,大概率是你没开对配置,或者有些小bug在搞鬼。给你几个靠谱的解决办法:

  • 开启自动终止旧实例配置
    这是最直接的解决方案,很多刚用Eclipse跑Spring Boot的人都会忽略这个设置:
  1. 点击顶部菜单栏的Run -> Run Configurations
  2. 在左侧列表找到你的Spring Boot应用配置(一般在Spring Boot分类下)
  3. 切换到Spring Boot标签页
  4. 勾选Terminate and restart before launching选项
    下次再启动应用时,Eclipse会自动先关掉之前运行的实例,就不会出现端口占用的问题了。
  • 检查残留进程并手动终止
    有时候即使你点了控制台的停止按钮,进程可能没完全退出,这时候可以去Debug视图看看:
  1. 打开Eclipse的Debug视图(如果没显示,点击Window -> Show View -> Debug)
  2. 在视图里找到之前运行的Spring Boot进程,右键选择Terminate或者Terminate All
    这个比用命令行杀进程要方便得多。
  • 临时方案:使用随机端口
    如果你暂时不想折腾配置,可以让Spring Boot每次启动用随机端口,避免冲突:
    在application.properties里添加:
server.port=0

或者在application.yml里:

server:
  port: 0

不过这个方案适合测试阶段,如果你需要固定8000端口的话,还是优先用第一个方法。

  • 排查Eclipse或Workspace问题
    如果上面的方法都没用,可能是Eclipse本身的小bug或者Workspace的问题:
  • 尝试清理Workspace:点击Project -> Clean,选择你的项目清理一下
  • 更新Eclipse到最新版本,或者检查有没有冲突的插件(比如某些Spring相关插件版本不兼容)
  • 实在不行可以试试重新导入项目到Workspace

另外,你现在用的lsof -i:8000然后杀进程确实是应急手段,但绝对不是常规操作,搞定上面的配置后就不用再这么麻烦了。

内容的提问来源于stack exchange,提问作者Arnie Schwarzvogel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:38:51