tomcat启动失败的一种可能性
今天搭建一个新的项目,采用spring+hibernate框架,项目框架搭建完成以后,启动tomcat,报错,如下图。

第一反应是tomcat的问题,于是clean了tomcat,没用,再把tomcat删除,重新装入eclipse,还是没用。
开始在网上到处搜索,发现遇到这问题的人还真不少。有的叫你修改tomcat配置文件,有的叫修改web.xml文件。试了均无用。
后面看到一个人,说是没用将maven的jar包添加到项目的部署路径来,于是照他说的,项目右键properties--Deployment Assembly。一看,我的maven引入的jar包已经在部署路径上了。如下图所示。所以不是这个问题。

有人说是web.xml错误,为了判断是否是这样,我把web.xml清空,错误依旧。也就是说项目还没启动起来,spring容器根本没有启动,就遇到报错了。所以初步怀疑是在加载jar包的时候出错。正好看到有人说可能是jar包冲突。
为了验证这个可能性,我将maven中的依赖包全部去掉,也就是一个没有任何jar包的空pom.xml文件,同时清空web.xml。这次可以启动起来了。所以证实了猜测,应该是jar包的问题。
但是那么多jar包,如何知道是哪两个包冲突了呢?那就没办法了,再恢复原来的pom.xml文件,然后一个一个删除,启动,直到删除掉某个jar文件以后,可以启动成功,就说明就是这个jar包的问题了。找出jar包问题以后。后续的排错工作就比较简单了。
在这个问题里,我最后找出的问题是spring的jar包和hibernate的jar包发生了冲突,我引用的spring 的jar包是4.x的,而引用的hibernate到了5.x。后将hibernate的jar包也降到4.x,即解决了问题。
tomcat启动失败的一种可能性的更多相关文章
- tomcat启动失败的三种方法
Tomcat启动失败的解决办法 1. 重复映射 用eclipse开发时,用Eclipse开发,新建了的servlet会有一个url-pattern声明: 这样就不需要再在web.xml中添加映射,如果 ...
- Tomcat启动失败的几种解决办法
1.重复映射 用Eclipse开发,新建了的servlet会有一个url-pattern声明: 这样就不需要在web.xml中添加映射,如果在web.xml中添加了这样一段: <servlet& ...
- tomcat启动失败问题排除及解决办法 Server Tomcat v7.0 Server at localhost failed to start.
tomcat启动失败问题排除及解决办法 Server Tomcat v7.0 Server at localhost failed to start. 导致上面问题的原因可能有很多种,每种的解决办法都 ...
- Java tomcat启动失败(Servlet3.0 Web Project):A child container failed during start
Tomcat启动失败,失败全部信息: 五月 , :: 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetProper ...
- Java Tomcat 启动失败的解决思路
好久没写新博文了,离自己要求的每年几篇的目标也是渐行渐远. 最近在学习Java,也是从基础学习,因为我是一个.net开发人员,所以学习的成本相对低些.Java JDK,JRE,Tomact 的安装及配 ...
- tomcat 启动失败 和闪退 和 启动成功却没有页面显示
1.解压版tomcat 将tomcat解压至英文目录下, 在系统环境变量里面配置 JAVA_HOME 和CATALINA_HOME (就是tomcat的安装目录) 在path中配置 %CATALINA ...
- Tomcat启动失败问题解决
1. 系统框架加载正常,但是Tomcat启动失败,报错如下: 2013-7-26 17:18:33 org.apache.catalina.core.StandardContext startInte ...
- Tomcat启动失败原因
Tomcat启动失败原因 一.Tomcat启动时,要求被加载的项目必须拥有独立路径名称 发布的两个工程具有相同路径名称,这是不允许. 二.8080端口号已经被占用了 启动失败原因,就是8085端口上, ...
- tomcat启动失败的解决办法
初次安装tomcat启动失败的解决办法: 1.CATALINA_HOME C:\Program Files\apache-tomcat-8.5.242.path %CATALINA_HOME% ...
随机推荐
- SUID,SGID,SBIT这些到底是什么
SUID,SGID,SBIT这些都是文件的特殊权限. SUID(Set UID)文件执行过程中,用户拥有文件的root权限. SGID(Set GID)文件执行过程中,执行者拥有该文件的用户组的权限. ...
- 项目实战3—Keepalived 实现高可用
实现基于Keepalived高可用集群网站架构 环境:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端 ...
- .net core 在视图中快速获取路由(Areas、Controller、Action)
我们在.net core中,经常碰到需要获取当前的Areas.Controller.Action,于是小编就扩展了Html,这样即可使用 Html.***来获取这些信息. 具体扩展类如下: publi ...
- .NET之RabbitMQ学习笔记(二)-安装
安装 1.安装erlang语言环境 因为rabbitmq是基于erlang进行开发,所以需要安装相应的依赖环境,学习中用到的erlang包下载地址:http://www.erlang.org/down ...
- 深入理解Postgres中的cache
众所周知,缓存是提高数据库性能的一个重要手段.本文着重讲一讲PostgreSQL中的缓存相关的东西.当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中. What is a ...
- ELK 快速指南
ELK 快速指南 概念 ELK 是什么 ELK 是 elastic 公司旗下三款产品 ElasticSearch .Logstash .Kibana 的首字母组合. ElasticSearch 是一个 ...
- BOM物料清单在输入用料计划时快捷选择物料没有带出单位
问题: 在新增BOM物料清单时,输入用料计划,快捷选择物料没有带出单位,但是从清单查找里面选择物料,是可以自动带出单位的. 原因分析查找: 1.这是个自定义单据,到tools工具上查看相关设置,看清单 ...
- 在使用hibernate的getHibernateTemplate()时怎么让控制台输出封装好的SQL? 怎么用日志打印出来?
我们在使用 Hibernate 时一般只会关注是否显示生成的 SQL 语句,不过有些时候还不够.默认时 Hibernate 执行的 SQL 语句是打印在控制台上的,它也可以配置为输出给 Log4J 或 ...
- nginx使用replace-filter-nginx-module实现内容替换
有时候我们想对响应(例如PHP接口)返回的内容做些字符串,虽然可以使用各语言代码相关方法(例如PHP的str_replace)进行替换,但是在nginx层面替换是更方便的,无需修改代码. 约定:本文源 ...
- [flask实践] 解决qq邮箱/mysql的相关配置问题
笔者经过flask web(Miguel著,封面是一条狗)一书的学习,打算实现一个旅游类网站,在此过程中发现,相对于书中的flasky博客程序,需要作出一些改变: 1. 注册邮箱:国内要使用126,q ...