Tomcat启动会遇到的问题部分解决方案
Tomcat的启动不一定会非常的顺利,这可以有多种原因
一、Tomcat是由Java所编写的,因此Tomcat的使用需要JDK的支持,如果没有配置环境变量,Tomcat当然无法启动,最明显的特征就是点击“startup.bat”会出现闪退,因此要在环境变量中设置“JAVA_HOME”的值为JDK的主目录,然后再在startup.bat和shutdown.bat中的首行加入
SET JAVA_HOME = F:\JDK_Kit
SET CATALINA_HOME = F:\TomCat_8.0.24
其中设置的属性值根据个人将JDK放置的位置所定,但一定是和环境变量中设置的一致。(这里还有一个CATALINA_HOME,稍后会说到)。对于初次安装Tomcat,当然还要在cmd中安装service.bat,这个请看《Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试》中的安装过程。这里说的Tomcat启动不起来可能是因为环境变量中误删了JAVA_HOME变量或者将JDK文件移动了位置,请注意检查。
二、由Tomcat的配置文件,Tomcat的端口默认为8080,如果其它软件占了8080端口,Tomcat启动会出错,最简单的实验方式就是开启一个Tomcat服务器后,再开一个Tomcat,这样后面的Tomcat的服务器就会启动出错。
因此有两种解决方式:
(1).在Tomcat配置文件中将8080端口改为其它端口
(2). 将在8080端口的软件关闭,以便Tomcat的启动。
一般在第二种解决方式都会先查询是哪一个软件占用了8080端口,然后进入任务管理器对其进行关闭,而有时我们会发现在任务管理器中结束某个进程后,这个程序会自动的又重新启动,造成杀不死的现象,如果发生这个情况,通常需要进Windows的“服务”中(方式:在cmd中键入“services.msc”)找到对应的程序,将其进行停止即可,对于某些程序如果启动方式是自动,通常都是开机启动并具有自动重启功能,非重要的程序经三思后可以考虑设置为手动启动方式。
三、上面曾经谈到设置的环境变量还有一个,那就是“CATALINA_HOME”,这个环境变量是告诉Tomcat的启动程序 Tomcat程序在哪里。
我的Tomcat放置在F盘目录下,环境变量中的设置也是其在F盘的目录,现在我拷贝一份Tomcat在D盘,在两份Tomcat的【webapps】目录下都有我自定义的【fjdingsdapp】目录,所不同的是在D盘下的该目录中有 “d.html” 文件,而在F盘下的该目录中有 “1.html” 文件,如下图所示:
在D盘下
在F盘下
注意:这时从D盘中的Tomcat启动,我们来访问d.html文件:

从D盘中启动的Tomcat服务器,在浏览器无法访问该Tomcat目录中的web应用程序,如果是访问1.html呢:

从D盘启动的Tomcat无法访问D盘下的Tomcat目录中的web应用,但是可以访问F盘下的web应用,说明从D盘点击的Tomcat启动程序 启动的却是CATALINA_HOME变量所指的Tomcat服务器,因此一定要将相应的web应用放置在CATALINA_HOME所定义的位置!!
PS:
Tomcat也可以不设置CATALINA_HOME环境变量,如果不设置,那么情况就跟上面不同,不设置CATALINA_HOME变量,那么从哪里打开Tomcat启动程序,就是运行哪里的Tomcat目录应用,以上面的例子为例,如果不设置CATALINA_HOME,那么从D盘打开的Tomcat服务器后,浏览器就可以访问D盘Tomcat目录下的d.html而不是F盘中Tomcat目录下的1.html了。
当然凡是软件,启动出错或者运行出错的原因会有千百种,今天可能运行正常,明天就出问题了,对这种问题我们可以去Tomcat的日志文件中查询,在Tomcat的目录下有这么一个【log】文件夹,里面存放都是Tomcat启动运行的日志:

这些日志以时间作为文件名,非常便于管理查看。
Tomcat启动会遇到的问题部分解决方案的更多相关文章
- Tomcat 启动花费很长时间的解决方案
原始解决方案链接 将 $JAVA_PATH/jre/lib/security/java.security 中的 securerandom.source=file:/dev/urandom 替换为 se ...
- CentOS环境下tomcat启动超级慢的解决方案
在本地开发环境,应用正常启动. 在CentOS测试环境,应用启动速度也是正常的. 但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容: org.apache.catalina. ...
- Spring Boot 添加jersey-mvc-freemarker依赖后内置tomcat启动不了解决方案
我在我的Spring Boot 项目的pom.xml中添加了jersey-mvc-freemarker依赖后,内置tomcat启动不了. 报错信息如下: org.springframework.con ...
- Tomcat启动报错:[The configuration may be corrupt or incomplete]的解决方案
1,场景说明: 偶然碰见Tomcat启动报错,此时并没有Add任何Web项目: Could not load the Tomcat server configuration at /Servers/T ...
- tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案【原创】
问题描述: tomcat启动后,console正常,console中语句为: 信息: Server startup in 7291 ms 但浏览器访问首页面http://localhost:808 ...
- CentOS7下Tomcat启动慢的原因及解决方案
现象 在一次CentOS 7系统中安装Tomcat,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的.Tocmat的Session ID是通过SHA1算法 ...
- tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案
转:tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案 检查tomcat与web工程对应版本,tomcat中对应版本的jar包拷贝到web工程 ...
- Tomcat启动时报org.springframework.web.context.ContextLoaderListener错误解决方案
问题现象:新从svn上检出maven的项目maven+spring+springmvc项目在Tomcat启动时,报如下错误. 严重: Error configuring application lis ...
- Tomcat启动时,控制台和IDEA控制台中文乱码解决方案
Tomcat启动时 控制台中文乱码 cmd控制台 IDEA控制台 解决方案 cmd乱码 打开Tomcat目录下的apache-tomcat-8.5.47\conf\logging.properties ...
随机推荐
- 【HTTP 2】 序言
笔者序 HTTP 2 这个关键词在各大 IT 网站出现频率节节升高,然而出现在大家视野里的,仍以浅析居多.虽有一部分实战(如 InfoQ 之前推送的 iOS App 网络层次架构优化),但针对 HTT ...
- linux ubuntu安装jdk
Oracle对Jdk7与Jre7的关系的经典图解 Oracle has two products that implement Java Platform Standard Edition(Java ...
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
设计模式 ( 十三 ) 命令模式Command(对象行为型) 1.概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需 ...
- Android中使用"running services"查看service进程内存
从Android 2.0开始,在Settings中加入了一个新的activity("Running Services" activity),它用于显示当前运行的每个Services ...
- signal()函数说明
表头文件#include<signal.h> 功 能:设置某一信号的对应动作 函数原型:void (*signal(int signum,void(* handler)(int)))(in ...
- CF#231DIV2:A Good Number
Let's call a number k-good if it contains all digits not exceeding k (0, ..., k). You've got a numbe ...
- Mockito简介(转)
Mockito 是目前 java 单测中使用比较流行的 mock 工具.其他还有 EasyMock,JMock,MockCreator,Mockrunner,MockMaker 及 PowerMock ...
- [Android系列—] 1. Android 开发环境搭建与Hello World
前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于And ...
- WebService推送数据,数据结构应该怎样定义?
存放在Session有一些弊端,不能实时更新.server压力增大等... 要求:将从BO拿回来的数据存放在UI Cache里面,数据库更新了就通过RemoveCallback "告诉&qu ...
- linux head命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...