在一次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冲突问题。避免浪费大量时间。
分享到:
相关推荐
### Tomcat启动时遇到的错误解析 在进行SSH(Struts+Spring+Hibernate)框架整合的过程中,启动Tomcat服务器时常会遇到一些问题。这些问题如果不能及时解决,将会影响到项目的正常运行与部署。本文将对“tomcat启动...
- 日志文件通常会记录Tomcat启动过程中的详细信息,包括任何异常或错误消息。首先查看`logs`目录下的日志文件,尤其是`catalina.out`,以获取有关启动失败的具体原因。 2. **检查端口号** - 确认Tomcat监听的端口...
Tomcat启动调试功能详解 Tomcat启动调试功能是一种非常实用的功能,它允许开发者在Tomcat服务器上调试Java应用程序。该功能可以帮助开发者快速地查找和修复程序中的错误,从而提高开发效率。 什么是Tomcat启动调试...
【标题】:Tomcat启动管理工具 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,主要用于部署和运行Servlet和JSP应用。Tomcat以其轻量级、易配置和高性能的特点深受开发者喜爱。"Tomcat启动管理工具"指...
**Tomcat启动原理解析** Tomcat作为一款广泛使用的开源Java应用服务器,其启动过程涉及了众多关键步骤和组件的协同工作。理解Tomcat的启动原理对于开发者来说至关重要,不仅有助于提升性能优化的能力,还能在遇到...
【标题】:Tomcat启动顺序 【描述】:Tomcat作为Apache软件基金会的开源Java Servlet容器,其启动过程是理解其工作原理的关键部分。Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、...
"Tomcat启动停止脚本"提供了这样的便利,使得操作过程自动化,特别是当需要将这些操作集成到服务器的计划任务中时。 一、Tomcat启动脚本 启动脚本通常名为`startup.sh`(在Unix/Linux环境)或`startup.bat`(在...
tomcat启动时执行java自定义方法,一般用于启动时赋值情况。
tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本tomcat启动脚本
Tomcat 无法启动可能是由于各种原因导致的,例如配置文件错误、jar 包缺失、类路径错误等等。在本文中,我们将讨论 Tomcat 7 无法启动的问题,并提供解决方法。 Tomcat 7 新特性 在讨论解决方法之前,先来了解一下...
Tomcat启动分析与配置详解 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。理解Tomcat的启动过程和配置对于优化服务器性能和管理Web应用至关重要。本文将深入解析Tomcat的组成...
tomcat 开机启动,dos窗口去掉,tomcat 开机启动,dos窗口去掉
然而,在实际操作过程中,不少用户会遇到Eclipse中Tomcat启动失败的问题,这不仅影响了开发效率,也可能导致项目延期。本文将深入探讨这一问题,并提供一系列可能的解决方案,帮助开发者们有效应对Eclipse中Tomcat...
在本教程中,我们将深入探讨如何使用Maven来配置和启动一个内嵌式的Tomcat服务器,以便运行Web工程。 首先,我们需要在项目中添加Tomcat内嵌库。在Maven的`pom.xml`文件中,我们需要引入`tomcat7-maven-plugin`或`...
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 ...
Tomcat启动后的截图,我上传然后应用
之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的。 解决方法 后面我把原先tomcat启动环境用的...
ps:不能直接设置0积分,只能设置粉丝免费下载,关注完就能免费下载了,Tomcat启动初始化mqtt连接,并可在全局使用此连接,本来想在网上找找,不过全都是答非所问,最后自己尝试和其他小伙伴讨论,终于测试通过了,...
在Linux系统中,尤其是CentOS 7,配置Apache Tomcat 8作为开机启动服务是确保服务器启动时自动运行Web应用程序的关键步骤。这个过程对于软件实施工程师来说非常重要,因为它可以简化维护工作,避免每次系统重启后...