`
exceljava
  • 浏览: 158797 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

spring2.0转到spring2.5出现的严重: Error listenerStart

    博客分类:
  • java
阅读更多

一直用spring2.08版本。今天下了个spring2.5。打算以后项目中全部用spring2.5.整合spring2.5+struts2.1+hibernate3.2的时候,启动tomcat,始终出现如下问题:

 

2008-7-31 17:36:36 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_05\bin;D:\apache-tomcat-5.5.26\bin
2008-7-31 17:36:36 org.apache.coyote.http11.Http11BaseProtocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2008-7-31 17:36:36 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 515 ms
2008-7-31 17:36:36 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-7-31 17:36:36 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.26
2008-7-31 17:36:36 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-7-31 17:36:37 org.apache.catalina.core.ApplicationContext log
信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
2008-7-31 17:36:37 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-7-31 17:36:37 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-7-31 17:36:37 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-7-31 17:36:37 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
2008-7-31 17:36:39 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-7-31 17:36:39 org.apache.catalina.core.StandardContext start
严重: Context [/springseam] startup failed due to previous errors

2008-07-31 17:36:39,312 INFO [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/springseam]] - Shutting down log4j
2008-7-31 17:36:39 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-80
2008-7-31 17:36:39 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-7-31 17:36:39 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/16  config=null
2008-7-31 17:36:39 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-7-31 17:36:39 org.apache.catalina.startup.Catalina start
信息: Server startup in 3110 ms

 


唯一提示有问题的就算下面部分了。

严重: Error listenerStart
2008-7-31 17:36:39 org.apache.catalina.core.StandardContext start
严重: Context [/springseam] startup failed due to previous errors

 

 

查看tomcat root下的log文件以及自己配置的log4j的log文件,都没有记录发生了什么。

如下是tomcat的log文件

2008-7-31 16:32:59 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_05\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\MySQL\MySQL Server 5.0\bin;D:\apache-ant-1.7.0\bin;C:\Program Files\Java\jdk1.6.0_05\bin;C:\Program Files\Rational\common;C:\Program Files\Subversion\bin;D:\apache-maven-2.0.9-bin\apache-maven-2.0.9\bin;C:\Program Files\CVSNT;C:\Program Files\StormII\Codec;C:\Program Files\StormII
2008-7-31 16:32:59 org.apache.coyote.http11.Http11BaseProtocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2008-7-31 16:32:59 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 625 ms
2008-7-31 16:33:00 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-7-31 16:33:00 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.26
2008-7-31 16:33:00 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-7-31 16:33:02 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-7-31 16:33:02 org.apache.catalina.core.StandardContext start
严重: Context [/springseam] startup failed due to previous errors
2008-7-31 16:33:02 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-80
2008-7-31 16:33:02 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-7-31 16:33:02 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/16  config=null
2008-7-31 16:33:02 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-7-31 16:33:02 org.apache.catalina.startup.Catalina start
信息: Server startup in 2797 ms
2008-7-31 16:36:29 org.apache.catalina.core.StandardService stop
信息: Stopping service Catalina
2008-7-31 16:36:29 org.apache.coyote.http11.Http11BaseProtocol destroy
信息: Stopping Coyote HTTP/1.1 on http-80
2008-7-31 16:36:29 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: Failed shutdown of Apache Portable Runtime

 

如下是log4j输出的日志文件

2008-07-31 16:47:39,703 INFO [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/springseam]] - Shutting down log4j

 

 

按以前的习惯,找了很久。并且用applicationContext 启动beanFactory进行测试。都很正常。只是通过web加载就出现这种情况。

 

最后,通过暴力破解。终于将问题定位在配置文件spring-dao.xml,spring-service.xml上面。发现屏蔽上述文件,系统可以正常启动。

 

由于写了个测试类HibernateTest通过ClassPathXmlApplicationContext加载spring的配置文件跟数据库交互正常。

tomcat启动又只显示

严重: Error listenerStart
2008-7-31 17:36:39 org.apache.catalina.core.StandardContext start
严重: Context [/springseam] startup failed due to previous errors

搞得人很迷茫。

 

最后,忽然想起,spring的延迟加载。让配置文件以及相互间的依赖关系在运行的时候而不是启动的时候进行检测。都是因为一直启动加载的缘故。差点都把这忘了。加了如下参数:

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-lazy-init="true">

 

然后启动,正常进入:

再运行,这时控制台出现了令人惊喜的信息:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager

 

问题的根源在缺少jta.jar这个事务支持的包。

 

通过该问题的解决。整理一下碰到控制台不产生任何错误信息严重: Error listenerStart的解决思路。

1.查看tomcat_home/logs下的日志信息。查看是否有比较明显的错误提示。

2.查看自己定义的log4j日志文件信息。(前提是配置了log4j日志输入)

3. 对spring配置文件文件启用延迟加载,让它在运行中现形。


当然,严重: Error listenerStart出现频率高,根源也比较多。上面只是提出了一般可能有所帮助的解决方法。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics