导致Tomcat无法启动的原因


出版日期:2021年1月8日。



INFOMARTION > 导致Tomcat无法启动的原因

概述。

本节介绍了Tomcat不启动的原因以及如何处理这些原因。 这就是Tomcat由于某种原因不能启动,即使执行了startup.bat或startup.sh也会出现错误的原因和补救措施。 我想根据Tomcat版本'9.0.27'来解释这个问题。

目录

  1. 导致Tomcat无法启动的原因
  2. 摘要

1. 导致Tomcat无法启动的原因

导致Tomcat不启动的原因有很多,但本节介绍了可能导致Tomcat不启动的主要事件。

1-1. 没有设置 JAVA_HOME。

【原因】

如果JAVA_HOME和JRE_HOME都没有设置,则会输出以下错误。

startup.bat


C:\Users\user>C:\apache-tomcat-9.0.27\bin\startup.bat
The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program

【如何处理】

在 "系统属性,高级设置,环境变量 "中设置JAVA_HOME或JRE_HOME。 如果设置正确,在命令提示符下输入 "echo %JAVA_HOME%"、"echo %JRE_HOME%"等,将产生以下输出。 作为一项预防措施,如果你改变了环境变量,请重新启动命令提示符。 环境变量在命令提示符启动时被读取。

C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11

1-2. JAVA版本与Tomcat不兼容。

【原因】

Tomcat有一个支持的Java版本。 它可以在以下Tomcat网站上找到。

https://tomcat.apache.org/whichversion.html

例如,Tomcat版本 "9.0.27 "将是上述网站上 "Apache Tomcat版本 "的 "9.0.x",即 "8及以后"。

这意味着设置Java 8或更高的版本可以工作。

【如何处理】

根据以下Tomcat网站,将环境变量重写为相应的Java。

https://tomcat.apache.org/whichversion.html

1-3. JRE_HOME被启用。

【原因】

如果 "JRE_HOME "和 "JAVA_HOME "被设置,Tomcat对 "JRE_HOME "有效。 即使你看了 "JAVA_HOME",发现Java与Tomcat兼容,"JRE_HOME "也能工作,所以 "JRE_HOME "必须是与Tomcat兼容的Java。

【如何处理】

从 "系统属性,高级设置,环境变量 "中,将JRE_HOME中的Java改写为Tomcat对应的Java。

1-4. 冲突的端口号。

【原因】

Tomcat默认在8080端口启动。 如果有其他应用程序在8080端口运行,则会输出以下错误。

Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]

【如何处理】

改变Tomcat的端口或停止正在运行的端口号有冲突的应用程序。

下面的命令将告诉你是否存在端口号冲突。 "8080 "部分应根据你自己的环境进行调整。 如果没有改变任何设置,数值为8080。 如果没有激活,则不返回任何响应。

※下面的命令是Windows。

C:\Users\user>netstat -nao | find "8080"
  TCP         0.0.0.0:8080           0.0.0.0:0              LISTENING       5748
  TCP         [::]:8080              [::]:0                 LISTENING       5748
  TCP         [::1]:8080             [::1]:58259            TIME_WAIT       0
  TCP         [::1]:8080             [::1]:58260            TIME_WAIT       0
  TCP         [::1]:8080             [::1]:58261            TIME_WAIT       0

2. 摘要

如果Tomcat没有启动,请检查以下四点。

  • 没有设置 JAVA_HOME。
  • JAVA版本与Tomcat不兼容。
  • JRE_HOME被启用。
  • 冲突的端口号。

如果这不起作用,请参考下面关于Tomcat如何首先启动的文章。

Tomcat是如何被激活的?

谢谢你一直看到最后。




■INFORMATION

请点击这里,进入信息首页。


■PROFILE

请点击这里查看简介。


■联系方式。

有关文章的查询,请在此与我们联系。