> 技术文档 > 解决springboot启动报错端口号占用(Web server failed to start. Port 8084 was already in use)的2种方法_linux 但是端口不存在 web server failed to start. port 477

解决springboot启动报错端口号占用(Web server failed to start. Port 8084 was already in use)的2种方法_linux 但是端口不存在 web server failed to start. port 477


作者:唐叔在学习
专栏:问题百宝箱
关键词:#端口号占用 #SpringBoot启动报错

文章目录

    • 问题描述
    • 方法一:修改应用端口
    • 方法二:终止占用端口的进程
      • 1. 查找占用端口的进程
      • 2. 终止占用端口的进程
      • 3. 重启SpringBoot应用
    • Linux/Mac系统下的替代命令
    • 总结

问题描述

当我们在启动SpringBoot项目时,有时会遇到如下错误提示:

***************************APPLICATION FAILED TO START***************************Description:Web server failed to start. Port 8084 was already in use.Action:Identify and stop the process that\'s listening on port 8084 or configure this application to listen on another port.

这个错误明确告诉我们:端口8084已经被其他进程占用,导致SpringBoot应用无法启动。下面介绍两种解决这个问题的有效方法。

方法一:修改应用端口号

最简单的解决方案是修改SpringBoot应用的默认端口号。在application.yml(或application.properties)配置文件中添加如下配置:

server: port: 8085 # 修改为未被占用的端口号

在这里插入图片描述

优点

  • 操作简单,无需查找和终止其他进程
  • 适合开发环境快速解决问题

缺点

  • 如果应用有固定端口需求,可能不适用
  • 需要确保新端口号未被占用

方法二:终止占用端口的进程

如果想继续使用原端口号8084,可以按照以下步骤操作:

1. 查找占用端口的进程

在Windows系统下,打开命令提示符(cmd)执行:

netstat -ano|findstr \"8084\"

在这里插入图片描述

命令输出会显示占用8084端口的进程ID(PID)。

2. 终止占用端口的进程

使用查找到的PID,执行以下命令终止进程:

taskkill /f /PID 715184 # 将715184替换为实际的PID

在这里插入图片描述

注意:强制终止进程可能会导致数据丢失,请确保该进程可以安全终止。

3. 重启SpringBoot应用

进程终止后,重新启动SpringBoot项目即可正常使用8084端口。

在这里插入图片描述

Linux/Mac系统下的替代命令

对于Linux或Mac用户,可以使用以下命令:

  1. 查找占用端口的进程:

    lsof -i :8084
  2. 终止进程:

    kill -9 <PID>

总结

两种方法各有优劣:

  • 修改端口号:适合快速解决问题,特别是开发环境中
  • 终止占用进程:适合必须使用特定端口的生产环境

建议开发人员根据实际情况选择合适的方法。如果是长期开发的项目,可以考虑在配置文件中使用随机端口:

server: port: 0 # 使用随机可用端口

这样每次启动都会自动选择可用端口,避免端口冲突问题。