这是一条在学写项目过程中很常见的错误提示: ( 别问, 问就是全怪 TIM
2022-10-30 22:29:02.844 ERROR 2168 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8082 was already in use.
Action:
Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.
一、 首先我们先检查一下是不是自己运行了使用相同端口的项目, 然后关掉就好了嘛.
这里主要说的是由于 前端代理 占用端口的情况:
proxy: {
host: '127.0.0.1',
port: 8083,
},
这种情况也是会占用 8083 端口的, 所以 port 最好是和后端端口避开. (我直接删了, 初学项目代理这块还没用到.
二、 如果确定不是自己运行的项目占用了端口, 那么我们就该去查查是哪个该死的进程占用了我们的 “学习资源”. 我们可以在终端中使用下面三条指令来 (查询/删除) 占用端口的进程.
netstat -ano | findstr xxxx
tasklist | findstr xxxx
taskkill -PID xxxx -F
用 8082 端口为例
(1).
我们使用 netstat -ano | findstr xxxx
指令来寻找占用 8082 端口的进程的PID. ( 这里的xxxx指代的是被占用的端口号
netstat -ano | findstr 8082
我们可以得到类似于如下的信息:
TCP 0.0.0.0:8082 0.0.0.0:0 LISTENING 3680
所以我们得到了这样一条信息 – – 占用 8082 端口的进程的PID为 3680
(2).
根据 tasklist | findstr xxxx
指令来使用 PID 索引运行的进程. ( 这里的xxxx指代的是刚刚我们获取的PID, 也就是进程号, 以我这边测试的 3680 例.
tasklist | findstr 3680
同样的我们可以获取类似于如下的信息:
TIM.exe 3680 Console 1 205,608 K
从这条信息可以看出来 TIM.exe 占用我们的 8082 端口.
(3).
提出杀死那个"人" 的请求 taskkill -PID xxxx -F
( 这里的xxxx指代我们想要结束的PID
taskkill -PID 3680 -F
结束成功得到以下信息:
成功: 已终止 PID 为 3680 的进程。
这样我们就成功释放了 8082 端口了.
这里就不得不提一嘴了, 很多学习视频都是使用的 808x 端口, 而我们的 腾讯TIM 总是时不时 (关键是它有时候又不占用, 过一下又占用了) 的占用 808x 端口. 所以惹不起, 我们总跑的起, 练习项目的时候还是别开 TIM 了. 不然不会查占用进程真的会被它气疯掉.
-- over.