解决springboot启动报错端口号占用(Web server failed to start. Port 8084 was already in use)的2种方法

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

问题描述

当我们在启动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  # 使用随机可用端口

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

<think>我们正在解决IDEA启动SpringBoot项目时端口被占用的问题,具体报错信息是"Webserverfailedtostart.Port9210wasalreadyinuse"。根据引用内容,我们可以通过两种主要方式来解决:修改端口号或者结束占用端口的进程。步骤1:修改端口号SpringBoot的配置文件(application.yml或application.properties)中修改端口号,例如改为9211或其他未被占用的端口。步骤2:结束占用端口的进程如果不想修改端口号,可以结束占用9210端口的进程。具体操作如下:1.查找占用9210端口的进程ID(PID):-在Windows系统中,打开命令提示符(CMD)并运行:`netstat-ano|findstr:9210`-在Linux或Mac系统中,打开终端并运行:`sudolsof-i:9210`或`netstat-an|grep:9210`2.根据查找到的PID,结束进程:-在Windows系统中,使用命令:`taskkill/PID[PID]/F`(将[PID]替换为实际的进程ID)-在Linux或Mac系统中,使用命令:`kill-9[PID]`根据引用[2],我们可以在配置文件中修改端口。根据引用[3],我们可以通过结束进程来释放端口。下面我将详细说明这两种方法:</think>### IDEA 启动报错 "Web server failed to start. Port 9210 was already in use" 解决方法 #### 方法一:修改应用端口号(推荐) 1. 打开项目的配置文件: - **YAML格式**:`src/main/resources/application.yml` - **Properties格式**:`src/main/resources/application.properties` 2. 添加端口配置: ```yaml server: port: 9211 # 改为可用端口 ``` 或 ```properties server.port=9211 ``` 3. 重启应用即可生效[^2] #### 方法二:结束占用端口的进程 1. **查找占用进程**: ```shell # Windows: netstat -ano | findstr :9210 # Linux/Mac: lsof -i :9210 ``` 输出示例: ``` TCP 0.0.0.0:9210 LISTENING 12345 ``` 2. **强制结束进程**: ```shell # Windows: taskkill /PID 12345 /F # /F 表示强制终止 # Linux/Mac: kill -9 12345 ``` 完成后重启应用[^3] #### 方法三:使用命令行参数(临时方案) 启动时添加参数: ```shell java -jar your-app.jar --server.port=9211 ``` #### 端口冲突原理 当操作系统将某个端口分配给进程后,其他进程无法重复使用该端口。SpringBoot默认使用$8080$端口,自定义端口需确保未被占用[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐叔在学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值