1. 系统框架加载正常,但是Tomcat启动失败,报错如下:
2013-7-26 17:18:33 org.apache.catalina.core.StandardContext startInternal 严重: Error listenerStart 2013-7-26 17:18:34 org.apache.catalina.util.SessionIdGenerator createSecureRandom 信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [452] milliseconds. 2013-7-26 17:18:34 org.apache.catalina.core.StandardContext startInternal 严重: Context [] startup failed due to previous errors 2013-7-26 17:18:34 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["http-apr-8080"] 2013-7-26 17:18:34 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["ajp-apr-8009"] 2013-7-26 17:18:34 org.apache.catalina.startup.Catalina start 信息: Server startup in 9576 ms diamond client log path : /home/admin/xxx/target/../logs/xx-client.log 2013-7-26 17:18:57 org.apache.catalina.loader.WebappClassLoader loadClass 信息: Illegal access: this web application instance has been stopped already. Could not load javax.xml.parsers.ParserConfigurationException. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. java.lang.IllegalStateException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1587) at com.taobao.tomcat.classloader.TomcatWebAppClassLoader.loadClass(TomcatWebAppClassLoader.java:37) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546) at com.taobao.hsf.container.HSFClassLoaderDelegateHook.postFindClass(HSFClassLoaderDelegateHook.java:96) at org.eclipse.osgi.framework.internal.core.BundleLoader.searchHooks(BundleLoader.java:495) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:461) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
2. 分析
查看上述日志,可能会很明显的看到下面很多的exception。都是this web application instance has been stopped already以及Could not load XX Class。但是不要被这些异常迷惑,他们只是结果而不是原因。
1). 细致一点可以查看到,哪些日志是Tomcat是启动完成之后报错的。Server startup in 9576 ms
2). Tomcat日志中有:严重: Error listenerStart。
3). 除了Error listenerStart没有详细日志,但是可以知道是web.xml中listener初始化的时候出错了。
3. 处理
1). 在WEB-INF/classes目录下新建logging.properties
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ org.apache.juli.FileHandler.level = FINE org.apache.juli.FileHandler.directory = ${应用目录}/logs org.apache.juli.FileHandler.prefix = error-debug. java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
2). 重新启动应用,指定目录下会有一个error-debug.2013-07-07.log的错误日志,或者错误日志生成在jboss_stdout.log中。(日志在Error listenerStart 到 Server startup in 9576 ms之间)
4. 结果
2013-7-29 9:58:11 org.apache.catalina.core.ApplicationContext log 信息: Initializing Spring root WebApplicationContext 2013-7-29 9:58:16 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class com.alibaba.citrus.webx.context.WebxContextLoaderListener org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:web/common/uris.xml] Offending resource: ServletContext resource [/WEB-INF/webx.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [web/common/uris.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionAttributes(Lorg/w3c/dom/Element;Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition; Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [web/common/uris.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionAttributes(Lorg/w3c/dom/Element;Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition; Caused by: java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionAttributes(Lorg/w3c/dom/Element;Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition; at com.alibaba.citrus.springext.util.SpringExtUtil.parseBeanDefinitionAttributes(SpringExtUtil.java:223) at com.alibaba.citrus.service.uribroker.impl.URIBrokerServiceDefinitionParser.doParse(URIBrokerServiceDefinitionParser.java:48) at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:81) at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1123) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1113) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:133) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:90) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:468) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:363)
5. 看到上述日志,问题就很容易解决了,明显是由于spring的类冲突导致,分析之后发现,是由于spring-2.0.7与spring-2.5.6的类冲突导致。
6. 如果上述不行,可以尝试:
http://www.havenliu.com/web/298.html
http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html
http://xpenxpen.iteye.com/blog/1545648
相关推荐
( Eclipse中Tomcat启动失败的解决方案.txt
tomcat启动不了问题处理 解决tomcat启动不了问题
针对tomcat的启动问题,本文详细介绍了解决方案
最近在工作中遇到一个问题,在发布失败的机器上Tomcat一直没有启动成功,所以只能想办法排查解决,下面这篇文章就介绍了在Tomcat启动时可能遇到的问题排查与解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
tomcat服务器所需的微软控件,将它安装在WINDOWS/SYSTEM32/下,就可以解决TOMCAT无法启动的难题。
主要介绍了Tomcat启动成功访问主页失败的原因解决方案的相关资料,需要的朋友可以参考下
解决办法:在resources目录下创建一个logging.properties的文件,然后重启 handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler #######################################################...
最近在搭建虚拟机环境,装的是CentOSQL 6.5版本,然后装的OpenJDK1.7,在Apache下载了一个纯净的Tomcat放到虚拟机上启动报错了
主要介绍了SpringBoot如何取消内置Tomcat启动并改用外接Tomcat,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
最近遇到了一个奇葩的问题就是应用启动失败,但是tomcat没有报任何的日志出来,log4j.properties日志级别写的是debug级别也没用。 解决过程 遇到这种情况,可以试着在web应用的classpath目录添加一个logging....
下面小编就为大家带来一篇Linux下Tomcat启动正常,但浏览器无法访问的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
启动Tomcat容器 docker run -d -p 8888:8080 tomcat 查看已经启动的容器 docker ps 使用8888端口访问Tomcat失败 先查看防火墙状况 service firewalld status 如果防火墙没关闭,先关闭防火墙 service firewalld ...
介绍了eclipse启动tomcat无法访问的解决方法,有需要的朋友可以参考一下
以下是对tomcat在opensuse下开机自启失败的原因分析及其解决方法进行了介绍,需要的朋友可以过来参考下
项目发布失败,可以去该项目的编译输出路径out下查看Artifacts目录下看看是否有该项目 左击file,找到project Setting,左击Artifacts,点加号,点Web Application:Exploded ,再点From Modules… ,选择要选的项目,...
内含配置详细信息:1 打开Sql配置管理器2 配置数据库3 解决附加数据库失败的问题4 Myeclipse导入项目及启动服务器
主要介绍了Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案,需要的朋友可以参考下
启动Tomcat出现闪退的原因以及解决方案一、端口被占用二、缺少Java环境变量三、catalina_home环境变量没有配置四、catalina.bat没有设置暂停(一闪而过)五、不用配置环境变量的解决方案 检查出错原因:找到Tomcat的...