linux springboot项目启动端口被占用 Port 8901 was already in use.

ops/2024/12/22 12:41:09/
....eb server failed to start. Port 8901 was already in use.Action:Identify and stop the process that's listening on port 8901 or configure this application to listen on another port.

问题分析

这个错误表明端口 8901 已被其他进程占用。为了启动你的应用,你需要执行以下操作:

确定哪个进程占用了端口 8901。
停止占用端口的进程,或者 更改应用的端口配置。

解决步骤

1. 查找占用端口的进程

在 Linux 或 Windows 系统中,可以通过以下命令找到占用端口 8901 的进程。

Linux 系统

sudo netstat -tuln | grep 8901

或者使用 ss 命令:

sudo ss -tuln | grep 8901

输出示例:

tcp        0      0 0.0.0.0:8901            0.0.0.0:*              LISTEN      12345

LISTEN 表示有进程在监听端口。
12345 是占用端口的进程 ID (PID)。

Windows 系统

打开命令提示符,运行:

netstat -ano | findstr 8901

输出示例:

TCP    0.0.0.0:8901           0.0.0.0:0              LISTENING       12345

12345 是占用端口的进程 ID (PID)。

2. 停止占用端口的进程

Linux

使用 kill 命令停止占用端口的进程。

sudo kill -9 <PID>

将 替换为上一步中查找到的进程 ID,例如:

sudo kill -9 12345

如果不知道该进程是否重要,可以先查看其详细信息:

ps -p <PID> -o user,pid,cmd

Windows

使用 taskkill 命令结束进程。

根据 PID 停止进程:

taskkill /PID <PID> /F

示例:

taskkill /PID 12345 /F

如果想进一步了解该进程:

tasklist /FI "PID eq <PID>"

3. 配置应用使用其他端口

如果你无法终止占用端口的进程,可以更改应用的监听端口。

Spring Boot 应用
修改应用的默认端口号:

在 application.properties 文件中添加或修改:

server.port=8080

或者使用命令行参数启动应用:

java -jar myapp.jar --server.port=8080

其他框架
查找框架文档,调整端口配置。

4. 确认问题解决

重新启动应用,确保端口不再被占用。如果需要验证监听状态,运行:

Linux:

sudo netstat -tuln | grep <new_port>

Windows:

netstat -ano | findstr <new_port>

总结

查找占用端口的进程:netstat 或 ss。
停止占用端口的进程:kill(Linux)或 taskkill(Windows)。
修改应用监听的端口:更改配置或使用命令行参数。


http://www.ppmy.cn/ops/144020.html

相关文章

基于Spring Boot的新能源汽车个性化推荐系统

一、系统背景与意义 随着新能源汽车市场的快速发展&#xff0c;消费者对新能源汽车的需求日益多样化。为了满足消费者的个性化需求&#xff0c;提高购车体验&#xff0c;开发一个基于Spring Boot的新能源汽车个性化推荐系统显得尤为重要。该系统能够根据用户的偏好、历史行为等…

【单片机原理】第1章 微机基础知识,运算器,控制器,寄存器,微机工作过程,数制转换

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…

Java模拟多个Mqtt客户端连接Mqtt Broker

上一次我们介绍了Java模拟单个Mqtt客户端的场景&#xff0c;但是在实际的业务场景中&#xff0c;可能需要我们模拟多个Mqtt客户端&#xff0c;比如&#xff1a;我们要对云平台的连接和设备上下行做压测。 Java模拟多个Mqtt客户端基本流程 引入Paho MQTT客户端库 <depende…

git管理

Git 项目管理&#xff1a;从本地开发到远程仓库提交 在这篇博客中&#xff0c;我将向你展示如何将本地的一个 Python 项目与远程 Git 仓库进行关联&#xff0c;并完成代码的提交和管理&#xff0c;同时处理一些常见的 Git 操作问题。以下是详细的步骤&#xff1a; 一、初始化…

srping2.0+升级到spring3.0+遇到的问题,es部分记录一下

最近公司项目,在做版本升级,首先srping2.0升级到spring3.0,目前无漏洞版本是springBoot3.2.12springClould2023.0.3,升级完spring,紧接着升级es,原来我们使用的es客户端版本是7.9.3,升级到无漏洞版本是7.17.23 <elasticsearch.version>7.17.23</elasticsearch.version…

题海拾贝:力扣 86.分隔链表

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…

医疗挂号的数字化转型:SSM 联合 Vue 的系统设计与实现探索

3系统分析 3.1可行性分析 通过对本医院预约挂号系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本医院预约挂号系统采用SSM框架&#xff0c;JAVA作为开发语…

Pytorch | 从零构建ResNet对CIFAR10进行分类

Pytorch | 从零构建ResNet对CIFAR10进行分类 CIFAR10数据集ResNet核心思想网络结构创新点优点应用 ResNet结构代码详解结构代码代码详解BasicBlock 类ResNet 类ResNet18、ResNet34、ResNet50、ResNet101、ResNet152函数 训练过程和测试结果代码汇总resnet.pytrain.pytest.py 前…