启动Tomcat出现闪退的原因以及解决方案
检查出错原因:找到Tomcat的bin文件夹,快速进入命令行,输入startup.bat
按下回车运行后,若提示缺少JAVA_HOME 或者缺少JRE_HOME说明Java环境变量没有配置好;若提示没有配置catalina_home环境变量,则按本文相关操作配置即可。
一、端口被占用
查看Tomcat的端口号(通过安装文件目录下conf目录中的server.xml文件查看Tomcat的端口号),一般Tomcat的默认端口号是8080,以管理员身份打开命令行,通过netstat -ano|findstr "8080"
的命令查看当前是否有进程占用了端口。
根据进程id号(最后一列的数)来查这个占用端口的是哪个程序,命令是tasklist|findstr "33228"
,如下图:
如上图通过进程id号找到占用8080端口的程序是java.exe,下面再通过命令行taskkill /f /t /im java.exe
结束该进程:
这个进程就被结束掉了,此时关闭命令行窗口,再尝试启动Tomcat查看是否能成功。(我就是端口被占用了导致闪退)
二、缺少Java环境变量
检查是否配置了Java的环境
安装JDK,安装过程中可以自定义安装目录等信息,例如我的安装目录为 D:\java\jdk1.8.0_202
1.安装完成后,右击“我的电脑”,点击“属性”;
2.选择“高级系统设置”,点击“环境变量”;
3.在“系统变量”中,设置3项属性,JAVA_HOME, PATH, CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;
4.
- JAVA_HOME 指明JDK安装路径,就是刚才安装时所选择的路径
D:\java\jdk1.8.0_202
; - PATH 使得系统可以在任何路径下识别java命令,设为:
%JAVA_HOME%\bin
;%JAVA_HOME%\jre\bin
- CLASSPATH 为java加载类路径,设为:
.;%JAVA_HOME%\lib\dt.jar
;%JAVA_HOME%\lib\tools.jar
5.win
+R
启动cmd;键入命令java
,javac
,java -version
几个命令,查看环境变量配置成功;
具体操作如下图所示:
设置好之后,确定,保存,重新双击startup.bat启动Tomcat
三、catalina_home环境变量没有配置
若检查出来的问题是提示没有配置catalina_home环境变量,那么解决方案的操作步骤同样和和没有配置Java环境的步骤一样:
- 新建变量名为CATALINA_HOME的系统变量,编辑其值为:D:\tomcat\apache-tomcat-8.5.45(我电脑上)
- 环境变量Path中,新增加“%TALINA_HOME%\bin\ "
- 双击startup.bat看是否能正常启动Tomcat。
四、catalina.bat没有设置暂停(一闪而过)
如果你的Tomcat出现一闪而过的情况,可以在catalina.bat的最后面加上pause(很多人会出现这种情况)
五、不用配置环境变量的解决方案
此方法可以避免修改环境变量
在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在第25行代码上加入下面两行:
SET JAVA_HOME=D:\java\jdk1.8.0_202 (java jdk目录)
SET TOMCAT_HOME=D:\tomcat\apache-tomcat-8.5.45 (解压后的tomcat文件目录)
同样,在已解压的tomcat的bin文件夹下找到shutdown.bat,右击->编辑。在第25行代码上加入下面两行:
SET JAVA_HOME=D:\java\jdk1.8.0_202 (java jdk目录)
SET TOMCAT_HOME=D:\tomcat\apache-tomcat-8.5.45 (解压后的tomcat文件目录)
配置好后双击startup.bat启动Tomcat