Tomcat严重: 由于之前的错误,Context[/ChinaMobile]启动失败

梁雨季

环境

  • Linux/Ubuntu20.04LTS
  • IntelliJ IDEA Community Editon 2021.1
  • java-11-openjdk-amd64
  • apache-tomcat-7.0.109
  • SSH框架(Struts2+Spring+Hibernate3)

异常

严重: 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到
7月 08, 2021 9:29:09 下午 org.apache.catalina.core.StandardContext startInternal
严重: 由于之前的错误,Context[/ChinaMobile]启动失败
7月 08, 2021 9:29:09 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["http-bio-8087"]
7月 08, 2021 9:29:09 下午 org.apache.catalina.startup.Catalina start
http://localhost:8087/ChinaMobile
  • 项目原先搭建好了,可以在Tomcat上启动服务,由于修改了相关的文件的名称或是项目的配置名称等,引发的异常,无法再次在tomcat上运行
  • Tomcat可以正常运行,就是在浏览器无法访问项目,即项目装载tomcat容器失败
  • 相应的容器日志文件并没有查看到有用的异常记录

原因

  • jar冲突或jar缺少
  • web.xml配置错误
  • Tomcat服务器配置有问题
  • Tomcat端口被占用
  • 编译的目录不对

分析

  • Tomcat启动成功,项目容器无法启动,则项目能正常编译,说明项目的jar没有冲突或缺少,以及web.xml配置没错
  • 重新启动电脑或重启IDEA,问题依然存在,说明不是服务端口被占位
  • 清除缓存File->invalidate cache...后,问题还在......
  • 删除编译的代码重新进行编译,编译成功,说明编译代码没有问题
  • 编译的目录可能不对,尝试修改编译的目录重新编译启动Tomcat

方案

  1. 在tomcat目录下conf/context.xml里加上<Loader delegate="true" />
    即 /usr/local/apache-tomcat-7.0.109/conf/context.xml(安装地址)
 <!-- creat by layuji on 2021-07-01 -->
    <Loader delegate="true" /> 
  1. 在方案1的修改下还是无法启动项目,这里可以看到编译的目录是在out,现在修改编译目录后在build编译项目,再启动Tomcat
 -classpath /home/lauiji/Desktop/java-workspace/HOMEM/out/production/HOMEM AddData
即 /home/lauiji/Desktop/java-workspace/ChinaMobile/out/production/classes

可以看到编译的地方是在out/production文件下方,将其修改到项目/WebRoot/WEB-INF/classes

File -> Project Structure... -> Modules ->Paths

图片.png

修改编译地址后,重新启动运行项目,发现项目可以正常访问了

图片.png

说明

  • 【遇上雨季,吃定彩虹】 --Layuji
  • 由个人整理发布,编写过程难免有所遗漏或错误,恳请指出,以免误导大家!
阅读 854

平淡,才是生活的常态,那些兴奋或痛苦只是调味剂。只有足够沉稳的人,才会不被怪诞或新奇的事物诱惑,...

1 声望
0 粉丝
0 条评论
你知道吗?

平淡,才是生活的常态,那些兴奋或痛苦只是调味剂。只有足够沉稳的人,才会不被怪诞或新奇的事物诱惑,...

1 声望
0 粉丝
宣传栏