Tomcat 启动闪退问题解决集(十四类详细)

Tomcat启动闪退问题解决集(十四类详细)

本文目录:

一、Java环境不对,Tomcat 不同版本需要的Java环境不同。

二、环境变量没有配置好

三、Tomcat端口被占用

四、配置文件编码问题

五、启动时需要的配置文件编写出错

六、部分相关文件丢失

七、免安装的tomcat闪退

八、修改配置文件setclasspath.bat

九、一种查找tomcat闪退的方法

十、增加内存设置

十一、日志文件过大

十二、临时文件冲突

十三、Web应用的部署问题

十四、安全与权限


  Tomcat 启动时出现黑屏一闪而过的现象原因有很多,但通常都涉及几个方法:

一、Java环境不对,Tomcat 不同版本需要的Java环境不同。

51907a08897b4c3198d65c4ed87dd340.png

    有时tomcat版本能够正常安装,但启动时检测到java 版本不对就会出现启动黑屏一闪而过的现象。例如:tomcat 10.1-M14版本能够在java version “1.8.0_131”下用命令提示符安装成功,运行时却出现启动黑屏一闪而过的现象,查了很久都没有发现原因,最近官方出了安装提示才明白问题出在运行需要Java 11 或更高版本环境。

  检查Java版本是否适合安装,按windows + R 启用cmd命令,打开命令提示符,输入“java -version”,回车,出现jdk版本,

98db7b92f3b049a2aa0e68d6e67cfc3b.png

  如果不适合,请先安装相应的Java版本。

当前Java SE Development Kit 最新版本是18.0.1.1

下载地址:Java Archive Downloads - Java SE 18
或http://openjdk.java.net/install/index.html

Java SE Development Kit 18.0.1.1

a9a3032652a5424a93df0f342459340d.png

二、环境变量没有配置好

  Tomcat需要配置好JRE才能正常运行。一般情况下,启动闪屏崩溃是因为找不到JRE路径,也就是说环境变量在安装JDK的时候没有配置好。

  检查jdk是否安装,按windows + R 启用cmd命令,打开命令提示符,进入命令提示符,输入“java -version”,回车,出现jdk版本,表示安装成功,检查版本是否合适,参考上文Java环境和tomcat版本对应关系。

  检测jdk配置有没出错,可以在tomcat安装目录\bin下,startup.bat文件最后加上pause命令

91cf547a3f474cdcb164785164323a48.png

  启动运行tomcat,黑屏会需要按任意键才结束如图:

bcdf298a32134a619ddee5ed424c0e22.png

  如能如图正常显示Using路径,说明环境变量设置没有问题,可跳过此步骤。

  如发现问题,可检查相关环境变量配置

358ef5546ca645af96e18b7461bb6ef7.png

① 配置环境变量,本机电脑—>属性—>高级—>点击环境变量
②在系统变量里点击新建—>添加变量:

③ 输入变量名,变量值:
变量名:CATALINA_HOME
变量值:c:\00\ tomcat10_021
(变量值为tomcat安装路径,就是你刚刚解压安装tomcat的那个文件夹路径)

ca84896e0cd64eaeaa48407ac0863f35.png

④ 在系统变量里找到Path,双击打开:

新建环境变量,输入:%CATALINA_HOME%\bin

或在原来path列表中添加%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

⑤打开cmd,选择以管理员的身份运行:(Windows键+R,输入cmd,回车)

⑥进入tomcat安装位置\bin目录,输入:startup,回车

⑦打开浏览器,输入:http://localhost:8080/
(出现以下页面,证明安装配置成功。)

4ede9bf695654567b5daec019c2645f7.png

三、Tomcat端口被占用

  Tomcat默认需要使用8080等几个端口,如果端口被占用,tomcat启动时就会崩溃,此时需要查找是哪个进程占用了8080端口。

  其实还可以通过查看Tomcat终端输出日志,找到Tomcat目录下的logs目录中catalina当天的日志,例如:catalina.2022-05-19.log文件,如果在日志出错信息中看到:Address already in use: bind说明是端口占用了。

  1. 在cmd中查看8080有没有被占用,找出占用8080端口的进程

  按windows + R 启用cmd命令,打开命令提示符,

  输入:netstat -ano | findstr “8080”

87edf5f106914d329ca9f71430b64de4.png

  如果端口没有被占用,就会显示空值;

  如果你修改过tomca t端口设置,请查找你的tomcat使用端口,例如,曾把tomcat端口修改成9080,此时查询9080端口使用情况的命令为:

输入:netstat -ano | findstr “9080”

89ce37792c174671be6c48cebc60dd1a.png

  显示为9080端口被PID值为15316的进程所占用。

  2 接下来可以在任务管理器里查看该PID值进程号所对应的进程:

任务管理器菜单栏中的点击【选项】——勾选” 【前端显示】。

任务管理器菜单栏中的点击-【查看】-【选择列】中勾选“PID”

4e5ddd28c93b4bf589d525a58b2ad7d8.png

发现占用9080端口,PID值为15316的进程为java.exe

   3、判断该进程是否有用,如果没有用,接着直接右键结束该进程即可。

或者,直接在命令提示框界面输入要结束的PID值进程,例如:

要终止PID号为1196的进程,

可输入:Taskkill/PID 1196

a3b83ab0f6d941b68bbf5170fa172187.png

如果该进程确实有用不能结束,那么可考虑更换tomcat使用的端口

打开:Tomcat的安装目录\ conf \ server.xml

找到下面这行代码:

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

8c22a5c440da4f0e8fee3a26197fc4cf.png

将8080端口改为你所需要的端口地址,例如,现在改为9080;

    <Connector port="9080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

813132ab290d4a46a4e6caf083d8e76d.png

4、在Tomcat目录\bin中找到“startup.bat”启动Tomcat

5、然后打开浏览器,输入:http://localhost:9080,就可以发现Tomcat正常启动了。

5aee881ece364284ae24a0958c82f97b.png

  除8080端口外Tomcat还会占用8005,8009和8443端口。如果这4个端口已被占用,可以修改为使用其它端口。详细见:Tomcat端口配置(详细)

四、配置文件编码问题

  Tomcat启动时会调用几个相关配置文件,如果里面出现了不是UTF-8的字符,或者文件保存时的编码格式不是UTF-8,tomcat编译时就会出错。就算是注释行内也要仔细检查。

出错现象:

  Tomcat出现启动时黑屏一闪而过的现象,查询catalina log日志,发现有以下出错信息:

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)

30-May-2022 23:57:18.015 严重 [main] org.apache.catalina.startup.Catalina.start 无法启动服务器,服务器实例未配置

30-May-2022 23:57:44.468 警告 [main] org.apache.catalina.startup.Catalina.parseServerXml 无法从[此处路径省略\conf\server.xml]加载服务器配置

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

分析:

  查看相关的conf\server.xml文件,发现是因为注释了一些代码,在代码行里加入了中文说明,所以会出现无效UTF-8 序列字节

解决方法:

删掉中文,改成英语或拼音注释。将文件保存支持UTF-8的格式。

重启tomcat后故障解决。

五、启动时需要的配置文件编写出错

  所有相关的配置文件都要仔细检测,语法格式等出错都会出现tomcat启动后闪退的现象。例如是否按规范设置JAVA_HOME变量名,路径设置时 \ 或 / 是否正确,注意路径设置时后面不用多加“\” 或者 “;”........

  有没有和防火墙或其他app冲突。

  如果tomcat内存配置有误也会导致tomcat闪退(在Catalina文件里,内存配置有错误),解决办法:找到配置内存的语句,删除错误,重新配置。

六、部分相关文件丢失

  因意外或其他原因,tomcat 或jdk的一些jar文件被打包成pack格式,造成tomcat 启动缺jar包,报错NoClassDefFound。
  解决:修复jdk,补回jar

七、免安装的tomcat闪退

  免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。

原因:

  在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退。

解决办法:

1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件头加入下面两行:

SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录)
SET TOMCAT_HOME=E:\tomcat-6.0.35 (解压后的tomcat文件目录)

2.同样的。在已解压的tomcat的bin文件夹下找到shutdown.bat,右击->编辑。在文件头加入下面两行:

SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录)
SET TOMCAT_HOME=E:\tomcat-6.0.35 (解压后的tomcat文件目录)

3.将你要发布/部署的web文件复制到tomcat的webapps目录下。

4.双击startup.bat即可启动tomcat,成功启动。

5.双击shutdown.bat即可停止tomcat。或者在已启动的tomcat窗口中直接ctrl+c也可停止tomcat。

此部分为转载,提供一种思路,有问题请联系原作者
原文地址:https://blog.csdn.net/qq_37647812/article/details/123063134

问题,
1. 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。
2. 这里有时候修了原本的web目录,也会闪退

        原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退。

解决办法一:
1. 去配置电脑的系统环境变量
        (1) 新增系统变量 TOMCAT_HOME=D:\2Software\​​​​​​tomcat-8.5.31\apache-tomcat-8.5.31
        (2)  在path 目录中添加         %OMCAT_HOME%\bin

        注意: 当然这里你的Java环境是已经配好的

解决办法二:

1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件头加入下面两行:

        set JAVA_HOME=D:\2Software\Java\jdk-11
        set TOMCAT_HOME=D:\2Software\​​​​​​tomcat-8.5.31\apache-tomcat-8.5.31

2.同样的。在tomcat的bin文件夹下找到shutdown.bat,右击->编辑。在文件头加入下面两行:

        set JAVA_HOME=D:\2Software\Java\jdk-11
        set TOMCAT_HOME=D:\2Software\tomcat-8.5.31\apache-tomcat-8.5.31

3.将你要发布/部署的web文件复制到tomcat的webapps目录下。
4.双击startup.bat即可启动tomcat,成功启动。

** 有时候如果启动闪退,只要运行一下 shutdown.bat 也可以解决下次启动时的闪退问题
 

此部分为转载,提供一种思路,有问题请联系原作者
原文地址:https://blog.csdn.net/pj598707063/article/details/125199164

八、修改配置文件setclasspath.bat

  有些时候,我们可以通过修改配置文件setclasspath.bat解决tomcat闪退问题

方法:

1、----》进入Tomcat目录----》进入在bin目录

2、----》找到setclasspath.bat文件----》右键点击编辑

3、在该文件开头中加入 java_home和jar_home 的具体路径设置

4、再次启动Tomcat,执行startup.bat

九、一种查找tomcat闪退的方法

  一种找到导致tomcat闪退的原因的方法:

1、windows+R----》输入cmd----》进入命令提示符窗口

2、输入路径----》进入到tomcat的bin目录

3、----》输入catalina.bat run 回车

4、----》查看具体错误信息

只要找到错误原因,就可以针对性的解决问题。

十、增加内存设置

有时候,Tomcat因为默认的内存设置太低而无法启动。

(1)、方法来源:https://www.cnblogs.com/jiang-xiao-bei/p/18133565

通过调整JVM的启动参数,如-Xms和-Xmx,可以解决内存不足的问题。

// 在Tomcat的启动脚本中设置JVM内存参数(通常位于setenv.sh或setenv.bat文件)
CATALINA_OPTS="-Xms512M -Xmx1024M"

(2)、方法来源:https://blog.csdn.net/zevjay/article/details/138680124

增加内存: 修改bin/startup.sh(Unix/Linux)或bin/startup.bat(Windows)脚本,

增加JVM的内存分配。例如:

JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx1024m -XX:+UseConcMarkSweepGC"

十一、日志文件过大

日志文件大小限制可能会导致Tomcat停止服务。我们可以使用更高的日志级别,增加Tomcat的日志级别可以帮助获取更详细的错误信息。

设置日志滚动: 在logging.properties中配置日志滚动,避免单个日志文件过大。
修改logging.properties文件,设置更高的日志级别。

# 修改Tomcat的日志配置文件增加日志级别

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINE

十二、临时文件冲突

清理临时文件
Tomcat在/temp目录中存储临时文件,有时候这些文件可能会导致启动Tomcat出现问题。

尝试清理这些临时文件,然后重新启动Tomcat。

// 删除Tomcat的临时文件
rm -rf /path/to/tomcat/temp/*

十三、Web应用的部署问题


错误的或损坏的Web应用可能会阻止Tomcat启动。

我们可以验证Web应用的部署是否出现问题,检查webapps目录下的应用,确保它们是正确配置的。

<!-- 示例:检查WEB-INF/web.xml文件是否正确 -->
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>myServlet</servlet-name>
        <servlet-class>com.example.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>myServlet</servlet-name>
        <url-pattern>/myServlet</url-pattern>
    </servlet-mapping>
</web-app>

十四、安全与权限

(1)防火墙设置
请检查一下你的防火墙设置
确保防火墙设置允许Tomcat的端口通信
检查端口使用情况:
输入:netstat -ano | findstr “你tomcat使用的端口号”

详细请查看:https://blog.csdn.net/weixin_69553582/article/details/124893517

(2)文件权限问题

Tomcat需要读写某些目录,请确保Tomcat用户拥有足够的文件和目录权限


  tomcat出错,每个人遇到的情况因软硬件问题都会有不同,这里只是总结出几大类常遇到的情况,希望能给你一点启发,慢慢来,修改前多做备份,会找到原因解决问题的,一起加油学习!

  推荐阅读:

逆境清醒文章总目录表

27d5b50d93a089da35ee1a28905f9719.jpeg​​​​

c64d8b4d0b6842ebe1196c0b1e3fba51.jpeg​​​​

a136a43cd0015088d4ce37b1bb653533.jpeg​​​​

给照片换底色(python+opencv)猫十二分类基于大模型的虚拟数字人__虚拟主播实例

0f92b28e915ca3cc26cfaaf47c5fc62d.jpeg

5d2b51be3e7e932be95355088e17d524.jpeg

3cf3fe3c1a186bfcbf12d4755b8950ae.jpeg

计算机视觉__基本图像操作(显示、读取、保存)直方图(颜色直方图、灰度直方图)直方图均衡化(调节图像亮度、对比度)

849b7a72434213407c862c8f8e071a22.png

9412a31659ba6db83d806c3f354dd1c0.png

fb29a865f75af8352dca5e3d56a09004.png

语音识别实战(python代码)(一)

 人工智能基础篇

 计算机视觉基础__图像特征

逆境清醒

637c349e8206c0651d1f2751ba128912.png

ce6afe00fdaa41f8aff1cf830e23f1ac.png7364ac22aa4f40899b6d7597ad7d91b6.png

 matplotlib 自带绘图样式效果展示速查(28种,全)

PyCharm 社区版(2024.2.3)安装、配置、创建项目

pycharm汉化插件无法使用也无法卸载的解决方法

ec9793633e16de7b52fbf0b74ecfa2f3.png

1b1579176220a88ae2a53758f91a41d6.pngc97237f650c44d0da960e88c37fc921d.png
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

开源数据科学平台Anaconda简介

最新版本Anaconda 2024.06-1安装设置

6e420cca6a1313b93948785f689f5723.png

1da3f182e081ad8f3cfcf53013909b8b.png

ca733c1a99c6457a762d0e503855ce79.png

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

 Python 3D可视化(一)

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

f92dfeb72ec683025a63db2fe8a26492.png

1b2a866ebb074a1e5859dad42c435d5c.jpeg

8207b63755bf37b10807a046080f14df.png

 python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

python爱心源代码集锦(18款)

b97d56fe7e3ce6234cb182ad86fef4ed.jpeg

6871f222e7db3f8ce83336ad50311c3a.png

b89ed1147e8a76e6c64b812d65e8f2ef.png

 Python中Print()函数的用法___实例详解(全,例多)

 Python函数方法实例详解全集(更新中...)

 《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

7090a17485b11d9da69e37e5756c6910.png

50313523c8c19f29270fb1110fe66ae9.png

用代码过中秋,python海龟月饼你要不要尝一口?

 python练习题目录

4c77c7a60782637db9e27b3deec7abee.png

c397ed3a22c7885194eb92b5b3883322.png

a18fbd27f15eaa98f0bb5a4fed8cbd8b.png

草莓熊python turtle绘图(风车版)附源代码

 ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

 ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

36e2af3bf474c59b9c430b223417793b.png

542dbf91cfafa23e1ccdee94a7b22397.png

175f4dd5b5bb4e46915f57c9f853f001.jpeg

 巴斯光年python turtle绘图__附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

【中秋月饼系列】2024年立体月饼新鲜出炉----python画月饼(1)附完整代码

逆境清醒

68b0f4704053ab870c16bb4e37897d63.png

25ff4b8d741f0942c50dd96b7e866386.jpeg

59bb0955631256520f0edd17f8304669.jpeg

 Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

2025年1月多家权威机构____编程语言排行榜__薪酬状况

7dda70990181a20a430cc7b13dc9d8aa.png

a1fea2de0187913a4cdb18473c512c55.png

96e1df3760ce3017026da2d1de069869.png

 手机屏幕坏了____怎么把里面的资料导出(18种方法)

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

 查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

逆境清醒

cc75265b98b9475cb68deece4f3def19.png

用代码画万圣节南瓜(python,MATLAB,html css)

8fe676a8d0404267af522df861a0a904.gif

CSS3 动画相关属性实例大全

49148faa34d949e999b8f0976a1fa8cb.png

CSS @规则(At-rules)系列详解

fa753f11d26d967646a85b78b53dc703.png

71e3b727d1634951aeed4e66cc536fe1.jpega1632ea3af784e47a1673144e360272e.gif
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

圣诞节系列代码专辑(目录)

Markdown 语法详解大全(超级版)

4290a52c20eee861ee159e17659342f5.png

b126b976989a1e4f1ae40867407e8f4d.png

15f065b7e46b238db1e7382f70fd7076.png

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

 别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套)

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

f3a00b9bf85e8d36c21d8e9785f43a53.png

1f143789d9652fd35c1fabf11b6f149c.png

2c8047a9f87aa22a8abe57ad0081b1d9.png

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

 2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

逆境清醒

a01e7c6663c27936b3c174265db14012.png

6d12eed561af36157625a07b771f9b0b.png​​​​​​​

af9dcebc4110cf5b9a012a3ef7d268fe.png​​​​​​​

 tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

 Tomcat端口配置(详细)

 Tomcat 启动闪退问题解决集(八大类详细)

逆境清醒

987cd5bf2ecef39fd782b5d64f0c3cbf.png7bd749109565caaad3799224fad815a4.jpeg

信息系统项目管理师试题

云计算

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆境清醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值