服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - startup.bat启动Tomcat闪退问题原因及解决

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

2022-08-14 09:36克萨斯的松鼠 Tomcat

本文主要介绍了startup.bat启动Tomcat闪退问题原因及解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

出现问题:

安装了Tomcat之后,开始用着还好好的。莫名其妙的就很突然出现了一些玄学问题,某一次开始我双击了startup.bat启动Tomcat时我的黑窗口就很不给面子的运行着运行着就闪退了,隐约间能看到个异常,可刚看清楚一个caused by...黑窗口就已经关闭了。经历了重启电脑等常规解决问题的思路后依旧无法解决。

分析问题

既然问题出现在这个启动后闪退,那就去看一眼启动时都做了什么?用记事本打开startup.bat,会发现一行脚本是这样写的:

?
1
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

看得出它访问了本目录下的catalina.bat脚本,那就记事本打开catalina.bat,此时又发现里面出现了这些内容:

rem Get standard Java environment variables
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
echo This file is needed to run this program
goto end
:okSetclasspath
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
if errorlevel 1 goto end

这说明catalina.bat又访问了该目录下的setclasspath.bat,而记事本打开setclasspath.bat后又发现它又访问了catalina.bat

综上发现startup.bat启动流程为:startup->catalina->setclasspath->catalina

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

闪退原因:

可见这三个文件一个都不能出问题。分析这三个文件得出闪退问题主要原因

原因一:java环境变量出问题了

从启动脚本中看得出Tomcat多次访问了环境变量信息,其中也包括java环境(毕竟Tomcat原码也是java啊)。故要先去检查jdk的环境配置
注意:CATALINA_HOME是Tomcat的环境,你可以选择不配置,不过这样的话你就只能在bin目录下启动Tomcat了,换句话来讲,配置完Tomcat环境后你可以把startup.bat复制到其他地方双击启动。

原因二:端口占用

如果Tomcat已经被启动或者8080端口被占用,这自然是不允许的。

你可以直接访问localhost:8080看能否访问Tomcat,如果可以那就说明是已经开启过了的,你可以双击shutdown.bat进行关闭。

或者你可以在黑窗口中执行netstat -ano | findstr "8080"查看8080端口状态,如果是TIME_WAIT则说明未被占用。

原因三:你的Tomcat不干净了

到现在还没解决,那就有可能是你所下载的Tomcat是一些绿色版、无敌版、xx版等阉货或畸形货。此时就可在记事本打开startup.bat,在脚本最后面一行加上pause,保存后启动进行断点调试了。(不一定非得像我图片中加在倒数第二行,最后一行应该也可以,只要不放在前面的逻辑中就行)。

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

此时启动效果和之前没有区别,只是出了问题后不再会立刻闪退,而是你在窗口中按任意键后才会退出。OK!现在你就研究属于你的bug吧(记得解决完问题后把pause删掉)!

到此这篇关于startup.bat启动Tomcat闪退问题原因及解决的文章就介绍到这了,更多相关startup.bat启动Tomcat闪退内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/D_ps19990501/article/details/121289269

延伸 · 阅读

精彩推荐
  • Tomcatservlet简介_动力节点Java学院整理

    servlet简介_动力节点Java学院整理

    Servlet是一种服务器端的编程语言,是J2EE中比较关键的组成部分。本文给大家简单介绍servlet的基本知识,感兴趣的朋友一起看看吧...

    beijiguangyong3702021-08-23
  • Tomcat一篇文章讲透Tomcat的类加载机制

    一篇文章讲透Tomcat的类加载机制

    Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类,各个web应用自己的类加载器会优先加载,加载不到时再交给commonClassLoader走双亲委托...

    马坤鹏 / 孙玄9372021-11-29
  • Tomcattomcat环境变量详细配置步骤

    tomcat环境变量详细配置步骤

    这篇文章主要为大家详细介绍了tomcat环境变量配置步骤,包括JDK环境变量配置,感兴趣的小伙伴们可以参考一下...

    残星8032021-08-11
  • TomcatWindow下安装Tomcat服务器的教程

    Window下安装Tomcat服务器的教程

    这篇文章主要介绍了Window下安装Tomcat服务器的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要...

    一点教程网4362021-09-12
  • Tomcat对一个tomcat实现多端口、多域名访问的方法

    对一个tomcat实现多端口、多域名访问的方法

    这篇文章主要是介绍如何在tomcat中进行配置,使同一个应用可以通过不同的端口号进行访问。大家可能都遇到过,在某些需要进行安全控制的场景中会应用...

    战神归来9032021-08-13
  • Tomcat在MyEclipse中修改Tomcat 6.x的端口号方法

    在MyEclipse中修改Tomcat 6.x的端口号方法

    今天小编就为大家分享一篇在MyEclipse中修改Tomcat 6.x的端口号方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    i海边拾贝9712021-08-30
  • TomcatMaven使用tomcat8-maven-plugin插件的详细教程

    Maven使用tomcat8-maven-plugin插件的详细教程

    这篇文章主要介绍了Maven使用tomcat8-maven-plugin插件的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...

    lfendo7922021-09-17
  • Tomcattomcat 配置图片虚拟路径不起作用解决办法

    tomcat 配置图片虚拟路径不起作用解决办法

    这篇文章主要介绍了 tomcat 配置图片虚拟路径不起作用解决办法的相关资料,需要的朋友可以参考下...

    熊九天9602021-08-19