现象:
tomcat安装好了,准备部署web项目了,启动tomcat,发现没有反应。
虽然显示了tomcat started。但是这个 started不等同于 success,当我们打开浏览器访问8080端口的时候,却发现我们的tomcat并没有被启动。
网上大多的教程都是教我们去查端口占用,或者是配置jdk环境。但其实应该从原因上进行分析,这样才能有效的推导出结果
(我最开始的错误就是有一个有错误的war包,导致tomcat启动不起来,这种如果按网上的教程是发现不出来的)
tomcat的logs目录下,存放着它所有的日志,在tomcat启动时的日志,是存储在catalina.***.log中的,***代表日期,我们可以找到当前日期的catalina.***.log,通过日志信息来定位问题
端口占用:
这个时候我们可以先查出来占用端口的线程:
1
|
lsof -np -i:8080
|
然后再杀掉该线程即可:
1
|
kill -9 pid
|
文件拼写错误:
通过错误信息我们可以看出,这个问题产生的原因是文件第二行存在拼写错误,我们打开文件,发现文件的第一行有一个空格,删掉首行空格即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<? xml version = "1.0" encoding = "utf-8" ?>
< web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version = "4.0"
metadata-complete = "true" >
< description > servlet example. </ description >
< display-name > myservlet example </ display-name >
< request-character-encoding >utf-8</ request-character-encoding >
< servlet >
< servlet-name >myservlet</ servlet-name >
< servlet-class >myservlet</ servlet-class >
</ servlet >
< servlet-mapping >
< servlet-name >myservlet</ servlet-name >
< url-pattern >/myservlet</ url-pattern >
</ servlet-mapping >
</ web-app >
|
到此这篇关于为什么我的tomcat启动不起来的文章就介绍到这了,更多相关tomcat启动不起来内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/nedulee/p/12063786.html