解决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  # 使用随机可用端口

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

### 解决方案 当遇到Web服务器无法启动,提示端口7071已被占用的情况时,可以采取以下措施来解决问题。 #### 查找并终止占用端口的进程 为了确认哪个进程正在使用该端口,可以通过命令行工具`lsof`或`netstat`查找具体的信息。对于Linux系统而言: ```bash sudo lsof -i :7071 ``` 上述命令会返回一系列信息,其中包含了PID(Process ID),即进程编号。通过这个ID可以直接结束对应的程序运行,从而释放被占有的端口号[^2]。 如果是在Windows环境下,则可利用PowerShell执行相似功能的操作: ```powershell Get-Process -Id (Get-NetTCPConnection -LocalPort 7071).OwningProcess Stop-Process -Id (Get-NetTCPConnection -LocalPort 7071).OwningProcess -Force ``` #### 更改应用程序监听端口配置 另一种方法就是调整应用本身所使用的默认通信端口设置。这通常涉及到修改服务部署文件中的相应参数,比如Tomcat下的server.xml, 或者Spring Boot项目里的application.properties/application.yml等位置指定不同的可用端口给新的实例去连接[^1]。 例如,在Spring Boot项目的`application.properties`中更改端口如下所示: ```properties server.port=8081 ``` 或者如果是YAML格式的应用配置文件(application.yml): ```yaml server: port: 8081 ``` #### 验证解决方案有效性 完成以上任一操作之后再次尝试重启Web Server,并验证其能否正常工作而不报错。同时也可以借助浏览器访问新设定好的URL地址来进行简单的测试看页面是否能够成功加载显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值