导入项目启动报错Unexpectedexception parsing XML document fro
导入项目启动报错Unexpectedexception parsing XML document from file[H:softwareapache-tomcat-7.0.77webappsItcastOAWEB-INFclassesapplicationContext.xml]
背景介绍: 导入项目报错1:ERROR ContextLoader:215 - Contextinitialization failed 报错2:Initializing Spring rootWebApplicationContext 报错3:Unexpectedexception parsing XML document from file[H:softwareapache-tomcat-7.0.77webappsItcastOAWEB-INFclassesapplicationContext.xml];
报错4:nested exception isjava.lang.IllegalStateException: Context namespace element 'component-scan' andits parser class[org.springframework.context.annotation.ComponentScanBeanDefinitionParser] areonly available on JDK 1.5 and higher 思路分析:1,开发软件的配置问题:将软件中tomcat配置,jdk 配置重新检查了一遍,重新启动,还是报同样的错误,之后将所有的配置删除了,重新配置一下,结果还是如此。
2,开发工具问题:将同一项目导入到不论是Eclipse还是MyEclipse,都是报同样的错误。 后来找同事交流,他给了我一个非常非常奇妙的思路,在开发工具中启动tomcat,一直报错:
Unexpected exception parsing XML document from file[H:softwareapache-tomcat-7.0.77webappsItcastOAWEB-INFclassesapplicationContext.xml]; 这个错误,但是,打开tomcat根目录,只启动tomcat:startup.bat之后,项目竟然起来了,而且是可以访问的,顿时就是非常的开森,这可以说明,其实跟开发工具是没有关系的,继续往下看bug 日志进行分析:
3,Spring启动说明版本不支持,要么提升spring.jar
4,要么改jdk,spring版本低,不支持jdk1.8,所以讲jdk改成了1.7
报错5:Failed to initialize end point associatedwith ProtocolHandler ["http-apr-8081"]
原因:8081已经被占用
解决:(1)将占用的8081端口线程关闭
(2)更改tomcat中server.xml中端口号比如改成:8082
总结:很低级的一个也是很难发现的一个错误,因为我之前一直用的JDK1.8版本,spring中的springframework.context是不支持的,所以要改成支持的版本,那就是1.7即以下的。改了JDK之后,问题就轻松解决了,在这里进行总结一下,和大家一起分享一下:一是为了提醒自己;二是感谢同事的帮忙,帮我开拓了一种解决问题的思路,后面解决起来就快的多了,这问题让我一样困扰一下午,后来瞬间就开拓了思路。
遇到问题其实并不要紧,好好的分析一下,特别值得注意的是: 去阅读报错的日志,哎呀,可有意思,每当一次次的将bug解决时,宝藏露出水面时,心情就是一个字:爽!
参考附录:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |