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不能同时运行多次。
JavaWeb之问题集(1) —— Tomcat启动闪退的更多相关文章
- Tomcat - 启动闪退
版本:Tomcat 9 问题:启动闪退.在控制台中输入"java -version"可以正常输出java的版本信息,但是使用start.bat启动时候闪退. 解决方法:配置系统环境 ...
- tomcat启动闪退
TOMCAT启动时报错:the CATALINA_HOME environment variable is not defined correctly 运行tomcat/bin目录下的startup. ...
- tomcat 启动闪退解决方法
当我们在windows上面进行项目的部署与启动的时候有的时候tomcat在进行启动的时候会删一下就退了,这个时候一般是里面启动的时候设置的jdk的问题下面咱们来看一下具体解决方案 编辑我们的start ...
- Tomcat 启动闪退解决
直接使用cmd进入tomcat 目录下进行启动,直接使用Catalina.bat run运行,查看报啥错.进一步进行解决
- tomcat启动闪退问题
tomcat的bin->setclasspath.bat文件中 将两个set加上,并且将if not “%JAVA_HOME%”放到%JRE_HOME%上面.
- tomcat启动闪退之内存不足及显著优化
增大内存: 打开catalina.bat,@echo off回车输入 set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:Ma ...
- eclipse 启动 闪退
eclipse启动闪退 打开eclipse安装文件夹中的eclipse.ini文件. 把Xmx1024m修改为Xmx512m,可以解决闪退问题.
- Zookeeper——启动闪退
Zookeeper好久不启动了,昨天项目要用Zookeeper了,我昨天突然启动它,调皮的zk居然害羞不让我看见它,启动不了,一启动就闪退,为啥呢?其实是因为报错了,有错zk启动时就会报错,所以昨 ...
- 双击startup.bat启动tomcat时闪退原因及解决方案
在启动免安装tomcat时,很容易遇到双击startup.bat,启动窗口闪退而tomcat服务未启动的状况. 具体原因:tomcat在启动时,需要读取环境变量和配置信息,如果缺少Java环境,即缺少 ...
随机推荐
- jQuery 名称发生冲突怎么办【问题】
[问题]jQuery 名称发生冲突怎么办? [答案]jQuery 使用 $ 符号作为 jQuery 的简介方式.某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号 ...
- 十、vue mixins 的用法
vue中mixins个人理解就是定义一些公用的比较常用的方法,类似我们vue中将一些常用的组件也会抽离出来做成一个公共组件一样,只不过vue中mixins是定义的是法或者计算属性,然后将其混入(合并) ...
- vue和react之间的区别
1.Vue和React之间的区别 相同点: Vue和其他框架一样,都有组件开发和虚拟dom 都支持props进行父子组件之间的数据通信 都支持数据驱动视图,不直接操作真实dom 都支持服务器端的 渲染 ...
- Qt 接受拖放
第一步:在构造函数里面 添加拖放支持,相当于总开关(注意这里设置之后是整个窗口可以接受拖放) setAcceptDrops(true); 第二步:重写接受拖放相关的虚函数 void dragEnter ...
- 【转】简易剖析Hadoop作业工作机制
原文地址:https://www.cnblogs.com/duma/p/10666269.html 建议:结合第四版Hadoop权威指南阅读,更有利于理解 运行机制 运行一个 MR 程序主要涉及以下 ...
- LInux-命令在后台运行
在终端运行一个持续很久的命令,一旦开始运行这个终端就会等待命令结束,才能输入下个指令,所以可以让这种指令放到后台运行,终端可以继续执行新指令. 后台运行 这种命令要满足1.要运行一段时间2.不需要与用 ...
- Linux命令——tree
参考:Linux tree Command Tutorial for Beginners (6 Examples) 简介 Linux tree命令用于以树状图列出目录的内容. 执行tree指令,它会列 ...
- Random Forest(sklearn参数详解)
2016年08月17日 10:32:42 铭霏 阅读数:36874 版权声明:本文为博主原创文章,博主转载请附加原文链接并声明. https://blog.csdn.net/u012102306/ ...
- vbs读取TXT每一行并赋值到变量a
vbs代码: Dim fso,f,a Set fso = CreateObject("Scripting.FileSystemObject") Set f=fso.OpenText ...
- CQOI2016 不同的最小割 (最小割树模板)(等价流树的Gusfield构造算法)
题目 最小割树模板 算法详解及证明见: 2016年国家队候选队员论文 <浅谈无向图最小割问题的一些算法及应用--绍兴一中 王文涛> 3.2节 CODE #include <bits/ ...