Tomca启动闪退问题解决(八大类)

目录
  • 一、Java环境不对,Tomcat 不同版本需要的Java环境不同。
  • 二、环境变量没有配置好
  • 三、Tomcat端口被占用
  • 四、配置文件编码问题
  • 五、启动时需要的配置文件编写出错
  • 六、部分相关文件丢失
  • 七、免安装的tomcat闪退
  • 八、修改配置文件setclasspath.bat
  • 九、等待更新

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

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

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

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

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

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

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

Java SE Development Kit 18.0.1.1

二、环境变量没有配置好

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

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

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

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

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

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

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

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

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

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

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

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

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

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

三、Tomcat端口被占用

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

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

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

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

输入:netstat -ano | findstr “8080”

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

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

输入:netstat -ano | findstr “9080”

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

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

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

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

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

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

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

要终止PID号为1196的进程,

可输入:Taskkill/PID 1196

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

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

找到下面这行代码:

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

               connectionTimeout="20000"

               redirectPort="8443" />

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

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

               connectionTimeout="20000"

               redirectPort="8443" />

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

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

除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。

问题,
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 也可以解决下次启动时的闪退问题

八、修改配置文件setclasspath.bat

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

方法:

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

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

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

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

九、等待更新

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

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

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

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

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

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

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

到此这篇关于Tomca启动闪退问题解决(八大类)的文章就介绍到这了,更多相关Tomca启动闪退内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • startup.bat启动Tomcat闪退问题原因及解决

    目录 出现问题: 分析问题 闪退原因: 原因一:java环境变量出问题了 原因二:端口占用 原因三:你的Tomcat不干净了 出现问题: 安装了Tomcat之后,开始用着还好好的.莫名其妙的就很突然出现了一些玄学问题,某一次开始我双击了startup.bat启动Tomcat时我的黑窗口就很不给面子的运行着运行着就闪退了,隐约间能看到个异常,可刚看清楚一个caused by...黑窗口就已经关闭了.经历了重启电脑等常规解决问题的思路后依旧无法解决. 分析问题 既然问题出现在这个启动后闪退,那就去看

  • 直接双击启动tomcat中的startup.bat闪退原因及解决方法

    免安装的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

  • Tomca启动闪退问题解决(八大类)

    目录 一.Java环境不对,Tomcat 不同版本需要的Java环境不同. 二.环境变量没有配置好 三.Tomcat端口被占用 四.配置文件编码问题 五.启动时需要的配置文件编写出错 六.部分相关文件丢失 七.免安装的tomcat闪退 八.修改配置文件setclasspath.bat 九.等待更新 Tomcat 启动时出现黑屏一闪而过的现象原因有很多,但通常都涉及几个方法: 一.Java环境不对,Tomcat 不同版本需要的Java环境不同. 有时tomcat版本能够正常安装,但启动时检测到ja

  • Android6.0蓝牙出现无法扫描设备或闪退问题解决办法

    Android6.0蓝牙出现无法扫描设备或闪退问题解决办法 前言: 目前待的这家公司是做智能家居的,最近客户那边有反馈说为什么我的手机蓝牙也打开了,设备的蓝牙也打开了,为啥总是扫描不到呢,但是我们公司的测试人员几经排查,并未发现客户的所描述的扫描不到设备,但客户所说的问题确实又存在,几经周折,找到了原因,原来是现在市场上出来的android6.0手机需要添加两个权限,Android官网也已经说明了, 直接上图 具体权限官网说的很清楚了 解决办法 Android6.0设备通过蓝牙和Wi-Fi扫描访

  • Jupyter notebook 启动闪退问题的解决

    可能某次不小心改了配置文件,导致无法打开jupyter,找了很多方法,都没从根本上解决问题. 倒是发现启动的默认目录被改了,怀疑是这个问题. 然后就彻底解决了:在命令行输入 jupyter notebook --generate-config 可修改为默认路径.就可以打开了. 参考这里 补充知识:jupyter notebook 闪退打不开,报错ImportError: DLL load failed: 文件或目录损坏且无法读取. 晚上想继续完善python大作业的时候发现jupyter怎么也打

  • Android apk无法安装及闪退问题解决办法

    Android apk无法安装及闪退问题 app在部分手机上(低版本)打不开或打开就闪退的问题 之前做项目集成的是 环信的sdk ,环信的sdk 确实很好,客服 也很给力.但是在集成的过程中发现,apk 在手机上发布不了,要么就是,安装了 打不开,打开就闪退:问题有一下两方面 1.之前做过一个环信的即时通讯,集成好环信的sdk之后在4.x的手机上就打开就闪退,,只能在5.x和6.x手机上打开app 2.最近又碰到了同样的问题不过这次和上次不一样,这次是因为我的 as升级到了 2.3 之后出现的这

  • Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法

    使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="D9Lh8MrrLMUuXdWMU8tRLtDsta6PoaYN" /> 但是,有些同学会发现,所有配置都是按照官网或者教程上的步骤来配置依旧会出现闪退问题.此时,不要盲目直接去网上搜索使用百度地图出

  • mysql 登录时闪退的问题解决方法

    mysql 登录时闪退的问题解决方法 之前mysql用着好着,可是今天在启动mysql后输入密码出现了闪退,在任务管理器中发现mysql服务没有启动,当手动启动时提示拒绝访问.在网上查找原因发现问题所在. 问题原因:mysql服务没有安装. 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 输入m

  • ubuntu上在androidstudio中启动emulator闪退的解决方法

    阅读目录(Content) 平台 现象 解决 一.查看模拟器的信息 二.命令行运行模拟器 平台 Ubuntu14.04 64 现象 在AndrodStudio中点击模拟器的启动按钮后,模拟器界面弹出后,又立刻闪退. 解决 一.查看模拟器的信息 从上面可以看到模拟器的存放路径以及名称: 路径:/home/pengdonglin/.android/avd/4_WVGA_Nexus_S_API_24.avd 名称:4_WVGA_Nexus_S_API_24 架构:x86_64 二.命令行运行模拟器 在

  • MySql闪退和服务无法启动的解决方法

    接触php那么久,但是安装环境却很生疏,遇到了很多问题,借着百度,整理了些下面的方法 问题一:mysql服务没有安装 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 1.以管理员的权限 net stop mysql ,关闭mysql服务 2.以管理员的权限 mysqld -remove ,卸载m

  • 关于解决iReport4.1.1无法正常启动或者闪退或者JDK8不兼容的问题

    公司里面再用iReport的时候,我也安装使用了. 但是面临一个问题 我的iReport始终不能打开,困绕了老半天  但是是软件问题不方便问大佬自己研究了老大一会儿 加载之后就闪退了!!! 最后还是老大还是跟我说了需要JDK1.7才可以,我的电脑安装了两个jdk 一个是1.7的一个是1.8的   平时用的1.8  所以我开发的时候一直都是1.8  突然换成1.7的很麻烦 所以经过这两天的研究 我更改了配置文件,使得它单独强制的去使用jdk1.7来启动 1.我们打开\iReport-4.1.1\e

随机推荐