Tomcat启动问题分析

问题前提:
在Tomcat目录下的bin目录中双击startup.bat直接打开tomcat时,可能会出现以下两个问题

  • Tomcat的窗口一闪而过
  • 启动报错

第一个问题:Tomcat的窗口一闪而过
原因:没有正确配置JAVA_HOME环境变量
在安装JDK时,需要将JDK的目录配置到Path变量下,问题就在这里,因为配置的时候,有可能是直接将JDK的目录配置到了Path环境变量
双击Path变量,如下图所示Tomcat启动问题分析
这样的做法是错误的
正确的做法是什么?
应该先创建一个JAVA_HOME环境变量
Tomcat启动问题分析
将JAVA_HOME的值设置问JDK的路径,如下图
Tomcat启动问题分析
然后再将JAVA_HOME代替JDK安装路径给Path变量
Tomcat启动问题分析
将startup.bat关掉,重新启动即可

可以尝试分析一下原因:
先以文档的形式打开startup.bat,发现和catolina.bat有关,
我们就以文档形式打开bin目录下的catolina.bat
Tomcat启动问题分析
在文档里可以看到,这里用到了环境变量的JAVA_HOME,所以在配置环境变量的时候,必须用JAVA_HOME来设置JDK路径,否则这里就无法找到JDK,由于Tomcat是纯java编写的,它的启动和运行要依赖与JDK,所以Tomcat就无法正常运行

第二个问题:启动报错,然后窗口自动关闭
原因:有可能是已经打开了一个Tomcat(或者有其他程序占用了Tomcat的端口号),再次启动的时候由于端口被占用,所以无法正常启动
如果是这种情况,通过查看日志会发现有一个异常:java.net.BindException:Address already in use
解决方法:
找到占用Tomcat端口号(一般是8080)的程序,关闭该程序
1、打开cmd窗口,输入 netstat -ano命令
Tomcat启动问题分析
找到Tomcat端口(我的是默认8080),记录该端口程序的PID
2、打开任务管理器
Tomcat启动问题分析
找到刚记录的PID对应的程序,把它关掉。
这样,Tomcat就能正确启动了