文章目录
Tomcat无法启动的解决方案错误背景启动Tomcat提示The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program的解决方案浏览器访问Tomcat提示HTTP状态 500 - 内部服务器错误的解决方案浏览器访问显示无法访问此页面Tomcat无法启动的解决方案
错误背景
今天被这个Tomcat折腾了好久😖,现在终于能够正常启动了,前前后后遇到两个Bug,
第一Bug是:直接运行startup没有反应,然后在cmd运行startup启动Tomcat提示
The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program
第二个Bug是:使用浏览器访问Tomcat提示HTTP状态 500 - 内部服务器错误
启动Tomcat提示The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program的解决方案
在cmd窗口使用cd指令切换到Tomcat的bin目录下,然后输入startup启动Tomcat然后提示如下错误:
翻译过来就是:没有正确定义CATALINA_HOME环境变量,运行这个程序需要这个环境变量,然后我愣是看了半天的环境变量配置,我也没发现有任何的错误,后来经过上网查询发现居然是不能直接使用Tomcat原来安装包的名字
重新配置环境变量以后:
至于环境变量的配置这里就不细说了,网上教程一搜一大把,而且都很详细😄
而至于为什么进行这样的操作就可以成功运行startup,暂且不知道具体原因,我认为可能是因为名字太长,以及短横线导致不符合环境变量的命名规范吧
浏览器访问Tomcat提示HTTP状态 500 - 内部服务器错误的解决方案
使用浏览器输入:localhost:8080然后直接提示如下错误信息:
搜了一圈都是告诉我是Tomcat的端口号被占用了,但是好像并不是这个原因,最终我找到原因了,只需要将Tomcat文件夹下的work目录删除即可成功访问了
删除后就能成功访问了:
work文件夹主要是一些一些Tomcat运行时的缓存文件,我们将work文件夹删除后,重新启动就可以使用localhost:8080进行访问了,每次运行Tomcat都会生成一个work文件夹,但是后面的work文件就不需要再删除了,至于其中的原理,暂且不知,学到后面再来看看吧o( ̄▽ ̄)ブ
如果小伙伴门觉得本文对你有一定帮助,就给博主点点赞吧O(∩_∩)O
浏览器访问显示无法访问此页面
附加一个很容易遇到的问题😄
当我们如果使用localhost:8080
去访问Tomcat或者部署在Tomcat上面的Web项目是,浏览器提示无法访问此页面:
大概率就是你的Tocat8080端口号被占用了,在启动Tomcat时就有报错提示的:
解决方法:
Step1:查看端口号
在cmd窗口中使用netstat -ano|findstr “8080”
查询结果如图所示:
Step2:使用taskkill /F /pid 6844
指令强制杀死端口对应的进程号
此时会碰到两种情况,进程可能杀死也可能没杀死
情况一:若运行上述语句,显示进程已杀死即可情况二:无法终止进程。如下图所示:
去任务管理器更具pid找到占用8080端口号的进程
打开任务管理器,找到占用端口的任务(这里是TNSLSNR.EXE),结束任务即可(PS:这里我把那个进程杀死了,所以找不到那个进程号了;你们要自己根据查出来的进程号打开任务管理器结束掉那个任务即可)
推荐阅读:初识Tomcat