`
阅读更多
在一次maven工程项目部署至linux下tomcat服务器时出现如下错误:
LoaderSupport.java:177)
[INFO ] 2012-11-15 18:31:41,084 main Pre-instantiating singletons in org.springframework.beans.fact ... tableBeanFactory@164debb: defining beans [terminalManager,ajaxMonitorManager,pullToWebManager,sessionStorage,webManagerService,hisCmdQueue,nmsBusiTypeDao,nmsResOrderDao,nmsResSubOrderDao,nmsBusiSubTypeDao,nmsWorkOrderDao,nmsWorkSubOrderDao,geoInfoDao,nmsResOrderService,nmsResOrderSubService,nmsBusiTypeService,nmsBusiSubService,nmsWorkOrderService,nmsWorkSubOrderService,geoInfoService,nmsResOrderAction,nmsBusiTypeAction,geoInfoAction,downLoadAction,nmsBusiSubTypeDwr,nmsResOrderDwr,nmsResSubOrderDwr,onuManager,configproperties,propertyConfigurer,sessionFactory,genericPersistenceService,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,txAdvice,genericPersistenceServiceOperation,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0]; root of factory hierarchy org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:555)
[INFO ] 2012-11-15 18:31:47,946 main Building new Hibernate SessionFactory org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:777)
[INFO ] 2012-11-15 18:31:55,309 main Root WebApplicationContext: initialization completed in 15983 ms org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:214)
2012-11-15 18:31:55 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2012-11-15 18:31:55 org.apache.catalina.core.StandardContext start
严重: Context [/nms-otm] startup failed due to previous errors
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.XmlWebApplicationContext).
log4j:WARN Please initialize the log4j system properly.
2012-11-15 18:31:57 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8888
2012-11-15 18:31:57 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8038
2012-11-15 18:31:57 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/34 config=null
2012-11-15 18:31:57 org.apache.catalina.startup.Catalina start
信息: Server startup in 22141 ms
启动命令/home/tomcat/bin/catalina.sh,采用nohup方式启动,tomcat启动后出现上述错误,错误非常简单,无明显提示信息,下面讲下解决问题过程。
通过上述错误,在谷歌搜索,了解到导致该错误大致有以下几种原因:
1、xml配置失误 2、filter中某段代码未实例化(这个情况是出现最多的,要仔细检查) 3、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到common/lib/目录,有些包在部署时没有被包含。
通过对以上几种情况逐个排查,未能解决问题;继续在网上搜寻资料,了解到tomcat有更详细的日志信息在日志文件localhost.日期.log里,通过对该日志信息:java.lang.NoSuchMethodError: com.opensymphony.xwork2.config.ConfigurationManager.addContainerProvider(Lcom/opensymphony/xwork2/config/ContainerProvider;)V
at org.apache.struts2.dispatcher.Dispatcher.init_DefaultProperties(Dispatcher.java:310)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:430)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:830)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)分析得知struts2缺少xwork包或者xwork包冲突导致,仔细检查maven工程,发现xwork包存在,自己使用的struts2较高版本struts2.3.4,该版本已经自己包含xwork这个包,于是去除工程里xwork jar包,重新启动tomcat,折磨了几个小时的那个错误不见了。
该次部署遇到的问题总结得出以下两点:
1、需要对tomcat日志有一个较为详细的了解,nohup.out,calalina.out等日志文件里保存只是较为简单信息,需要查看更详细的日志信息,可以查看localhost.当天日期.log.
2、对不同版本jar包要有一个大致了解,注意不同版本的jar冲突问题。避免浪费大量时间。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics