环境
- 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
方案
- 在tomcat目录下conf/context.xml里加上
即 /usr/local/apache-tomcat-7.0.109/conf/context.xml(安装地址)
- 在方案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
修改编译地址后,重新启动运行项目,发现项目可以正常访问了
说明
- 【遇上雨季,吃定彩虹】 --Layuji
- 由个人整理发布,编写过程难免有所遗漏或错误,恳请指出,以免误导大家!