zoukankan      html  css  js  c++  java
  • 为什么我的tomcat启动不起来?

    现象:

      tomcat安装好了,准备部署Web项目了,启动tomcat,发现没有反应。
      虽然显示了Tomcat started。但是这个 started不等同于 success,当我们打开浏览器访问8080端口的时候,却发现我们的tomcat并没有被启动。
    网上大多的教程都是教我们去查端口占用,或者是配置jdk环境。但其实应该从原因上进行分析,这样才能有效的推导出结果
    (我最开始的错误就是有一个有错误的war包,导致tomcat启动不起来,这种如果按网上的教程是发现不出来的)
      tomcat的logs目录下,存放着它所有的日志,在tomcat启动时的日志,是存储在catalina.***.log中的,***代表日期,我们可以找到当前日期的catalina.***.log,通过日志信息来定位问题

    端口占用:

      这个时候我们可以先查出来占用端口的线程:
    lsof -nP -i:8080
      然后再杀掉该线程即可:
    kill -9 pid

    文件拼写错误:

      通过错误信息我们可以看出,这个问题产生的原因是文件第二行存在拼写错误,我们打开文件,发现文件的第一行有一个空格,删掉首行空格即可。
     
    <?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>
    解决问题的第一步应该是定位问题。
     

  • 相关阅读:
    linux centos 7.5 开启 postgresql 远程访问
    linux centos 7 开启 ftp
    CentOS 7.5 改IP后不生效无法上网解决办法
    Windows Server 2008R2 及上系统安装 Windows 可选功能
    C#只允许运行一个实例
    C# 命令行参数分割
    C# 获取所有已登录系统的用户名
    C#获取进程用户名
    psexec 用法
    检测 Visual C++ Redistributable Package 相应版本是否已安装
  • 原文地址:https://www.cnblogs.com/nedulee/p/12063786.html
Copyright © 2011-2022 走看看