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

Spring Boot微服务启动报错:端口8080占用,杀进程后仍无法解决

Spring Boot启动报错:端口8080被占用(已尝试杀进程仍无效)

问题分析

你明明配置了应用在9091端口运行,但启动时仍提示8080端口被占用,大概率是端口配置未生效,或者占用8080的进程未被彻底终止。以下是针对性的解决步骤:


解决步骤

1. 确保端口配置正确生效

Spring Boot默认使用8080端口,你需要确认配置是否正确加载:

  • 配置文件方式:
    在src/main/resources/application.properties中添加:
    server.port=9091
    
    或在application.yml中添加:
    server:
      port: 9091
    
    注意:检查配置文件是否放在正确的资源目录下,有没有拼写错误(比如server.portt这种笔误)。
  • 启动参数方式:
    启动jar包时直接指定端口,避免配置文件的问题:
    java -jar your-spring-boot-app.jar --server.port=9091
    
  • IDE启动配置:
    如果用IDEA/Eclipse启动,在Run Configuration的VM参数里添加:
    -Dserver.port=9091
    

2. 彻底终止占用8080的进程

如果杀进程后仍报错,可能是进程未被彻底杀死:

  • Windows系统:
    1. 打开命令提示符,执行:
      netstat -ano | findstr :8080
      
      找到输出中的PID(最后一列数字)。
    2. 强制终止进程:
      taskkill /F /PID 你的进程PID
      
    3. 若仍无效,打开任务管理器→详细信息,找到对应PID的进程(可能是残留的Java后台进程),右键选择“结束任务”。
  • Linux/macOS系统:
    1. 终端执行:
      lsof -i :8080
      
      找到PID列的数字。
    2. 强制杀死进程:
      kill -9 你的进程PID
      

3. 排查配置冲突或多实例问题

  • 检查IDE中是否有多个应用实例在运行,比如之前的启动进程未完全关闭,可在IDE的“运行/调试”面板中终止所有相关进程。
  • 检查系统环境变量是否设置了SERVER_PORT=8080,这会覆盖配置文件中的设置。
  • 确认是否有自定义的配置类或第三方组件强制指定了8080端口。

4. 临时换端口测试

尝试将端口改为9092等其他未被占用的端口,若启动成功,说明原9091端口的配置可能存在未被发现的问题;若仍提示8080被占,说明应用根本没读取到你的端口配置,需要重点排查配置加载逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:22:21