在一次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冲突问题。避免浪费大量时间。
分享到:
相关推荐
ssh整合的时候 启动tomcat常见的错误
tomcat启动时立即调用quartz执行一次
tomcat启动管理工具
tomcat启动不了问题处理 解决tomcat启动不了问题
内嵌式tomcat启动web工程,maven代码 内嵌式tomcat启动web工程,maven代码
tomcat启动时执行java自定义方法,一般用于启动时赋值情况。
tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本
Tomcat启动分析以及如何启动 关于tomcat的配置及其代码
tomcat 开机启动,dos窗口去掉,tomcat 开机启动,dos窗口去掉
tomcat-juli.jar 用于在tomcat启动报错时除错
tomcat启动|退出执行事件类: import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import ...
windows及linux环境下,tomcat启动参数的设置。在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数...
Tomcat常见错误 Tomcat常见错误 Tomcat常见错误
Tomcat启动停止脚本,直接点击启动或停止脚本即可,可作为服务器计划任务脚本
Tomcat无法正常启动的解决办法 教你如何解决Tomcat无法正常启动 欢迎下载
详细介绍了Tomcat的启动原理 对调试代码很有帮助
tomcat启动项目部署步骤 。
Tomcat启动后的截图,我上传然后应用
Tomcat启动调试功能 很实用的,可以试试看
tomcat控制台详细错误日志设置,有时tomcat控制台报的错误比较模糊,不知道该怎样去找原因,现在好了,按照简单说明配置一下