设为首页 收藏本站
查看: 315|回复: 0

[经验分享] tomcat启动时出现的 严重: Error listenerStart

[复制链接]

尚未签到

发表于 2017-2-2 09:49:34 | 显示全部楼层 |阅读模式
    转自《http://xuthus.iteye.com/blog/85089#comments》
    最近看《WebWork.Spring.Hibernate整合开发网络书城》视频教程,自己按照教程上说的做练习,在启动tomcat时总是出一个错误:
      2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
     
严重: Error listenerStart
      2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
      严重: Context [/testWSH] startup failed due to previous errors
   
      教程的作者在录制教程时也遇到了此问题,但是他删了一个jar包后就没事了,可是我的一直无法正常启动,从昨天到现在一天的时间都在研究这个问题,也“百 度”到了很多有关此问题的信息,但是都没有很明确的解决方案。现在此问题已经解决,而且基本肯定问题所在,所以将解决方案写出来以供参考。

      有一种解决方案是把web.xml文件中的

<listener>       <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
改为
   <servlet>
        <servlet-name>SpringContextServletservlet-name>
        <servlet-class>
            org.springframework.web.context.ContextLoaderServlet
        servlet-class>
        <load-on-startup>1load-on-startup>
    servlet>

      但这种方法可能会出现其他问题(网上又说会导致其他文件无法打开)。
   

    我的最终解决方案如下:
      我用的是tomcat5.5,配置了日志之后打印出下列信息:
       ERROR main org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
Caused by:
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
    at java.lang.Class.getConstructor0(Class.java:2640)
    at java.lang.Class.getDeclaredConstructor(Class.java:1953)
    ……


     
从日志信息看问题已经很明显了,是 applicationContext.xml dataSource  问题。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!--[if !supportLineBreakNewLine]-->改为
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
之后问题得到解决。 

       出现"Error listenerStart"一般是applicationContext.xml中的bean加载有问题。在用eclipse做webwork + spring + hibernate 的项目时一般都是用Myeclipse自动生成那些配置文件,而有些相关的jar或者文件并没有加载在至项目中,以至引出奇怪的问题,又因为是自动生成的东西所以往往会忽略一些文件,而问题确恰恰是这些生成的文件所致,所以自动化的东西也未必一定是正确的,呵呵……

    org.springframework.jdbc.datasource.DriverManagerDataSource 不可以使用连接池。org.apache.commons.dbcp.BasicDataSource作为注入的DataSource源,为了使用 DBCP的功能,必须要将commons-dbcp.jar加入CLASSPATH中,另外还需要commons-pool.jar和commons- collections.jar,这些都可以在Spring的lib目录下找到。

org.springframework.jdbc.datasource.DriverManagerDataSource并没有提供连接池的功能,只能作作简单的单机连接测试。
使用org.apache.commons.dbcp.BasicDataSource时缺少commons-pool.jar所以会出现如题的问题。

再次修正:

    昨天又遇到此问题,解决的办法是删除无用的jar。

    工程是 spring+hibernate+tomcat5.5.25,jar都是用eclipse自动加载的,很多jar明显的用不到,例如:ibatis,toplink等。将无用的jar删除后问题解决。

 

 

 

 

 

 

下面这篇文章转自《作者:lizongbo 发表于:3:44 下午. 星期二, 12月 4th, 2007
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
http://618119.com/archives/2007/12/04/37.html 》

配置Tomcat自身的log,启用详细的调试日志.

  在Tomcat 5.5和Tomcat 6.0中的配置基本一样,只是相关文件放的目录有所不同.
  首先需要准备的文件为:
  1.log4j.jar , 下载地址 : http://www.apache.org/dist/logging/--escaped_anchor:e0a22b16b97ca8dedb8d5b8c15ffbcaa--/1.2.15/apache-log4j-1.2.15.zip
2.Tomcat 5.5所需的 commons-logging.jar,下载地址: http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.zip
  3.log4j配置文件:
log4j.properties
配置内容为:
  log4j.rootLogger=ERROR,R
  log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p]%t-%c-%m%n
  log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/lizongbo.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p]%t-%c-%m%n
  log4j.logger.org.apache.catalina=INFO,R,CONSOLE
  #日志级别不能太低,如果配置为debug的话,输出的日志信息太多,导致tomcat启动非常的慢.
  4.Tomcat 6.0所需的juli替换文件:
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.14/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.14/bin/extras/tomcat-juli.jar
  在Tomcat6.0中,
  将tomcat-juli-adapters.jar,log4j-1.2.15.jar,log4j.properties复制到D:\Java\ApacheTomcat6.0.14\lib下面.
  将tomcat-juli.jar复制到D:\Java\apache-tomcat-6.0.14\bin\下面.
  然后启动tomcat,就可以在D:\Java\apache-tomcat-6.0.14\logs下看到lizongbo.log了.
  在 Tomcat5.5中,
  将commons-logging-1.1.jar,log4j-1.2.15.jar,复制到D:\Java\apache-tomcat-5.5.25\common\lib下面.
将log4j.properties复制到D:\Java\apache-tomcat-5.5.25\common\classes下面.
  然后启动tomcat,就可以在D:\Java\apache-tomcat-5.5.25\logs下看到lizongbo.log了.
  在这个时候,再通过日志文件来分析,则会发现出现这种错误的情况可能有:
(以下是我遇到的出错情况,大多是些低级错误)
1.webapps要用到的classe文件根本没有复制到WEB-INF/classes目录下面
(java.lang.NoClassDefFoundError,而这个信息可能默认没输出到控制台,尤其是用了spring的,昨天就是这个粗心的低级错误)
2.要用到lib文件没有复制完,缺少lib
3.lib下的同一个库的jar文件存在多个不同版本,引起版本冲突.
4.lib下的jar与tomcat版本不相对应(我遇到的问题是web应用在Tomcat5.5上运行正常,换到Tomcat6.0上就出错,
例如一个用了struts的webapp在Tomcat 6上报下面的错误
“Parse Fatal Error at line 17 column 6: The processing instruction
target matching “[xX][mM][lL]” is not allowed” )
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-336405-1-1.html 上篇帖子: eclipse+tomcat+lomboz的安装配置说明(转载 下篇帖子: web服务器和tomcat服务器配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表