JavaWeb之问题集(1) - Tomcat启动闪退

1. 问题描述

  环境:

    System:Windows 10 Professional

    JDK:1.8.0.212

    Tomcat:9.0.22

  原本可以正常的启动和关闭,后来突然的就无法使用了,无法启动,双击 startup.bat 命令行窗口一闪而过。

  经查明,端口未被占用;环境变量 JDK 和 CATALINA_HOME 也都配置了。

2. 问题所在

  突然想起来,前些日子因为要适配新项目,新添加了一个JDK 1.7,并且把环境变量中的JDK配置成了1.7。

  JDK 1.7是无法支持Tomcat 9工作的,想到这里我就恍然大悟。

3. 解决办法

  (1) 修改环境变量

    最简单的办法就是将环境变量中的JDK版本配置成Tomcat支持的。

  (2) 修改配置文件

    对于电脑中运行多套JDK的来说,给Tomcat配置具体的JDK版本还是最好的。

    1) 打开Tomcat安装目录下的 bin 文件夹,用文本编辑器打开 startup.bat 和 shutdown.bat 文件。

    2) 在两个文件内头部添加如下字符串。

    SET JAVA_HOME= JDK安装路径
    SET TOMCAT_HOME= Tomcat安装路径

    

    便可正常启动关闭Tomcat。

4. 其他问题导致闪退解决办法

  (1) 端口占用

    因为好多的软件都可能占用8080端口,甚至是因为单机有多个Tomcat都在使用8080默认端口,导致的端口占用闪退。

    可以有以下办法解决:

    1) 更换端口

      打开Tomcat安装目录下的 conf 文件夹,用文本编辑器打开 server.xml 文件。

      找到 protocol="HTTP/1.1" 的 <Connector> 标签,将 port 的值改为其他空的端口。

      

    2) 杀掉占用端口的进程

      使用端口查询命令 netstat -ano|findstr "要查询的端口号" 。最后面一串数组便是进程号。

      

      根据进程号,使用进程查询命令 tasklist|findstr "要查询的进程号" 。得到进程的信息。

      

      因为开着微信,微信已经使用8080建立通讯了,而java进程正在监听。

      找到占用端口的进程,使用命令 taskkill /f /t /im 进程名 ,结束占用程序进程。

      

  (2) 重复开启同一个Tomcat

    当之前Tomcat服务没有停止的时候,再次启动Tomcat会导致当前开启的命令行窗口闪退,但是跟其他闪退又不一样。

    重复开启同一个Tomcat的话,命令行窗口中会刷新多个BUG信息,然后才会闪退,所以比较好识别。

    只要运行 shutdown.bat 关闭之前的Tomcat服务就可以启动新的服务了。

    注意:同一个Tomcat不能同时运行多次。

原文地址:https://www.cnblogs.com/NyanKoSenSei/p/11631910.html

时间: 2024-08-28 21:46:20

JavaWeb之问题集(1) - Tomcat启动闪退的相关文章

tomcat启动闪退解决

1. 配置jdk环境变量 tomcat在启动时,会读取jdk环境变量的信息,JAVA_HOME即java安装的主目录,jdk的主目录.首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图: 在path里面配置JDK启动路径 若启动仍然闪退,在tomcat的bin目录下找到并打开startup.bat,在最后一行添加PAUSE,该命令可阻断闪退,以便判断问题原因 2. 修改tomcat的bin目录下的catalina.bat,添加如下命令

tomcat启动闪退

TOMCAT启动时报错:the CATALINA_HOME environment variable is not defined correctly 运行tomcat/bin目录下的startup.bat时报错:the CATALINA_HOME environment variable is not defined correctly 碰到这个问题时的第一反应是添加CATALINA_HOME环境变量: 添加环境变量后发现问题不能解决,还是报同样的错误,打开startup.bat脚本,找到出错

tomcat启动闪退问题

tomcat的bin->setclasspath.bat文件中 将两个set加上,并且将if not "%JAVA_HOME%"放到%JRE_HOME%上面.

iOS中app启动闪退的原因

这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面以后发生的). 而且秒退是发生在程序刚刚启动的时候,在开发.苹果审核阶段都没有被发现的最大可能性就是,这个问题只会发生在老版系统.老版机型上. 对于很多开发者(尤其是个人开发者),进行所有 iOS 版本,所有 iOS 机型覆盖测试是有难度的,苹果审核时也只是重点审核该应用在新机器.新版本下的运行情况

eclipse 启动闪退无错误提示

提供几种解决办法: 先确认一下jdk是否有问题.cmd下java -version,显示当前版本就OK,注意不要装多个,可能会混淆 确认无误后,在eclipse目录下有个eclipse.ini文件.在文档的首部加上-vm  C:\Program Files\Java\jdk1.7.0_13\bin\javaw.exe 目录根据自己的目录修改.保存后如果不行继续尝试. 将-Xxx768m中的768改成512,如果不行再换成256试试. 如果是上次使用OK,但是重启后发现问题,可能是workspac

Tomcat启动一半闪退问题解决

最近刚刚接触Tomcat,对其还不是很了解.在这几天,遇到一个Tomcat启动闪退的问题,通过查阅各种资料,算是完美解决.在此分享给朋友们. 首先,确定你的问题在哪里.有两个方法,你可以通过日志去查询,也可以直接去一般处理程序中启动. 1.查询错误:win+R 输入cmd,进入一般处理程序.通过cd 找到你Tomcat的bin文件夹,在bin下面输入startup.bat run运行,运行后,如果提示,缺少JAVA_HOME 或者缺少JRE_HOME(如图所示).说明你的环境变量不对,或者是缺少

tomcat启动不成功(点击startup.bat闪退)的解决办法

今天遇到tomcat手动启动不成功,但是再eclipse里面是可以启动成功的.我一直开始以为是端口被占用了,最后才发现是这么一回事.首先说下我的tomcat是安装版的.免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动.这个原因就是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1:在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入

直接双击启动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

启动tomcat闪退

启动tomcat,点击startup.bat闪退 使用的Tomcat是免安装版本的. 因为在启动tomcat是需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1:在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目录)SET TOMCAT_HOME=E:\tomcat-7.0 (解压后的tomcat文件目录) 2