当前位置: 代码网 > 服务器>服务器>Tomcat > Java Tomcat 启动闪退问题解决集

Java Tomcat 启动闪退问题解决集

2024年05月18日 Tomcat 我要评论
tomcat 启动时出现黑屏一闪而过的现象原因有很多,但通常都涉及几个方法:一、java环境不对,tomcat 不同版本需要的java环境不同。有时tomcat版本能够正常安装,但启动时检测到java

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说明是端口占用了。

1. 在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启动时会调用几个相关配置文件,如果里面出现了不是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出错,每个人遇到的情况因软硬件问题都会有不同,这里只是总结出几大类常遇到的情况,希望能给你一点启发,慢慢来,修改前多做备份,会找到原因解决问题的,一起加油学习!

以上就是tomcat 启动闪退问题解决集(八大类详细)的详细内容,更多关于解决tomcat闪退的资料请关注代码网其它相关文章!

(0)

相关文章:

  • 使用Tomcat无法访问http:localhost:8080的解决方法

    我们在tomcat网站下载apache tomcat® - welcome!后解压在电脑上面。本地下载地址:一.检查tomcat配置的环境变量1. tomcat需与jdk搭…

    2024年05月18日 服务器
  • 配置tomcat的图文教程

    一、官网下载tomcat安装包,任意版本,以tomcat 9为例:二、查看电脑支持32还是64,选择合适版本下载安装包,完成后解压,保存在磁盘中三、配置环境变量,在此电脑&mdas…

    2024年05月18日 服务器
  • tomcat优化配置小结

    1修改tomcat的内存配置,打开$tomcat_home/bin/catalina.sh文件内存优化:-server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多…

    2024年05月18日 服务器
  • tomcat漏洞汇总

    put 任意文件上传(cve-2017-12615)影响版本tomcat 7.0.0~7.0.79漏洞复现1. 访问apache tomcat首页 http://192.168.1…

    2024年05月18日 服务器
  • tomcat配置虚拟路径的实现步骤

    配置虚拟路径的方式有两种,通常我们是在tomcat目录下的conf/server.xml文件标签中进行配置,这种方式相对来讲比较常用,但今天小编为大家讲的是比较方便的第二种配置方式…

    2024年05月18日 服务器
  • Tomcat简单网站部署的三种方式小结

    Tomcat简单网站部署的三种方式小结

    1、隐式部署为什么可以隐式部署,是因为 tomcat 配置了默认主机对应应用 webapps,在 engine 下你也可以配置其他主机(要保证你配置的主机在 e... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com