欢迎光临
我们一直在努力

一劳永逸:SpringBoot项目自动释放8080端口完整方案

一、创建稳定无报错 killPort.bat 批处理脚本

1. 新建文件

在项目根目录右键 → 新建「文本文档」,命名为 killPort.txt,粘贴下面完整代码:

@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
set "port=8080"
echo Check port %port% usage…
set "killedPid="
for /f "tokens=5" %%a in ('netstat -ano ^| findstr /R /C:":%port% "') do (
echo.!killedPid!|findstr "\\<%%a\\>" >nul || (
echo Kill process PID: %%a
taskkill /F /PID %%a 2>nul
set "killedPid=!killedPid! %%a"
)
)
echo Port process done
exit

2. 关键:另存为 ANSI 编码(解决乱码报错根源)

  • 记事本左上角【文件 → 另存为】
  • 参数设置:
    • 文件名:killPort.bat
    • 保存类型:所有文件
    • 编码:ANSI
  • 保存覆盖原txt文件,完成脚本创建
  • 脚本作用:自动去重PID,同一个进程只杀一次,不会重复报「进程不存在」错误。


    二、IDEA 配置外部工具(Kill8080端口)

  • 点击启动下拉框 → 选择【编辑配置…】
  • 选中左侧 SpringbootHoutaiApplication 启动项
  • 右上角点【修改选项】→ 勾选【添加启动前任务】
  • 在「启动前」区域点 + → 选择【运行外部工具】→ 再次点 + 新建工具
  • 外部工具填写参数

    配置项填写内容
    名称 Kill8080端口
    描述 解决端口占用问题
    程序 浏览选中:D:\\IDEAprojects\\xuexi\\springboot_houtai\\killPort.bat(脚本完整绝对路径)
    实参 (留空,不填任何内容)
    工作目录 $ProjectFileDir$(直接粘贴变量)
  • 点击【确定】保存外部工具配置

  • 三、确认启动前任务顺序

    此时「启动前」列表会有两个任务:

  • 构建
  • 外部工具「Kill8080端口」
  • 顺序无需修改,先编译构建、再杀端口、最后启动项目,逻辑正常。点击右下角【应用 → 确定】保存全部运行配置。


    四、配套优化:从根源减少端口残留(防止进程关不干净)

  • 当前启动配置页面,勾选 使用启动器服务
  • IDEA 左上角【文件 → 设置 → 高级设置】
  • 找到并勾选:允许终止进程树(Allow process tree termination)
  • 应用保存;后续点红色停止按钮,会完整杀死整个Java进程,大幅减少端口残留。

  • 五、运行验证效果

  • 点击顶部绿色三角启动项目
  • 控制台先执行 killPort.bat:
    • 若8080被占用:自动查询PID、强制结束占用进程
    • 若端口空闲:直接提示端口处理完成,无报错
  • 脚本执行完毕,自动启动 SpringBoot 项目
  • ✅ 实现效果:永远不用手动改端口、手动杀进程,启动自动释放8080端口


    常见问题兜底说明

  • 运行报 'xxx' 不是内部命令 → 脚本编码不是ANSI,重新另存为ANSI格式
  • 反复提示 process not found → 已用去重脚本修复,不会重复杀同一个PID
  • 外部工具找不到bat文件 → 核对「程序」路径为完整绝对路径,不要截断路径
  • 赞(0)
    未经允许不得转载:171主机测评 » 一劳永逸:SpringBoot项目自动释放8080端口完整方案
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址