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

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 18或http://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 。
【Tomca启动闪退问题解决(八大类)】问题,
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-11set tomcat_home=d:\2software\??????tomcat-8.5.31\apache-tomcat-8.5.312.同样的 。在tomcat的bin文件夹下找到shutdown.bat , 右击->编辑 。在文件头加入下面两行:
set java_home=d:\2software\java\jdk-11set tomcat_home=d:\2software\tomcat-8.5.31\apache-tomcat-8.5.313.将你要发布/部署的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启动闪退内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
-- 展开阅读全文 --

    推荐阅读