我们在启动tomcat时可能会遇到一个这样的错误:
Error running 'Tomcat 9.0.38':Address localhost:8080 is already in use
默认端口号8080显示被占用
下面给出两种解决方案:
一.结束端口8080的进程
按下窗口键+R,输入cmd打开命令行窗口
输入”netstat -ano"指令(注意不包含引号),查看所有的活动连接,找到端口8080对应的pid,可以看到PID为6948(读者的可能不一样)
不过这样查找PID有点麻烦,所以我们可以输入另外一个指令来查看
“netstat -ano|findstr 8080"
可以直接看到端口8080对应的PID为7544(由于笔者中间结束了”ApplicationWebServer.exe“进程,后面又重新开启,可以看到两次的PID并不相同,所以请读者以当前端口对应的这个PID为准)
然后输入指令“taskkill/pid 7544" 结束这个进程。但这样可能会出现一个错误:
错误: 无法终止 PID 为 7544 的进程。
原因: 拒绝访问。
出现这种问题,读者也不必担心,我们可以在任务管理器中来结束这个进程。
打开任务管理器–>详细信息
找到PID为端口8080对应的那个PID(7544)的进程”ApplicationWebServer.exe“(熟悉了的读者下次就可以直接在任务管理器中结束”ApplicationWebServer.exe"进程,写这么多主要是为了告诉读者如何查看活动连接及为什么是结束“ApplicationWebServer.exe"这个进程来解决端口8080被占用)
单击右键–>结束任务。
再次启动tomcat,问题得到解决。
读者如果想开启"ApplicationWebServer.exe"进程,点击”服务“选项卡,找到”NIApplicationWebServer",然后单击右键–>开启.这样,“ApplicationWebServer.exe"进程就再次运行了。
当然这样有一个不好的地方,因为进程"ApplicationWebServer.exe"有时候需要用到,结束后每次还要开启就显得比较麻烦,所以我们还可以尝试方案2。
二.修改默认端口
打开tomcat安装文件夹下的conf文件夹中的”server.xml“文件,以记事本的形式打开
(apache-tomcat-9.0.38–>conf–>server.xml)
找到下图的这部分:
将8080改为一个没有被占用的端口(读者可以在刚才输入”netstat -ano“后显示的活动连接中来查看哪些端口被占用),笔者这里选择9999(一般来说这个端口都不会被占用),保存。
再次启动tomcat,问题已解决。
笔者建了一个学习群(QQ:893307693),里面隔一段时间会提供一些学习资料,也可以和群里的朋友一起交流技术方面的问题,感兴趣的读者可以加群。