导入项目启动报错Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps\ItcastOA\WEB-INF\classes\applicationContext.xml]
背景介绍:
导入项目报错1:
ERROR ContextLoader:215 - Contextinitialization Failed
报错2:
Initializing Spring rootWebApplicationContext
报错3:
Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps\ItcastOA\WEB-INF\classes\applicationContext.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:\software\apache-tomcat-7.0.77\webapps\ItcastOA\WEB-INF\classes\applicationContext.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已经被占用
(2)更改tomcat中server.xml中端口号比如改成:8082
总结:
很低级的一个也是很难发现的一个错误,因为我之前一直用的JDK1.8版本,spring中的springframework.context是不支持的,所以要改成支持的版本,那就是1.7即以下的。改了JDK之后,问题就轻松解决了,在这里进行总结一下,和大家一起分享一下:一是为了提醒自己;二是感谢同事的帮忙,帮我开拓了一种解决问题的思路,后面解决起来就快的多了,这问题让我一样困扰一下午,后来瞬间就开拓了思路。
遇到问题其实并不要紧,好好的分析一下,特别值得注意的是: 去阅读报错的日志,哎呀,可有意思,每当一次次的将bug解决时,宝藏露出水面时,心情就是一个字:爽!
参考附录:
原文链接:https://www.f2er.com/xml/294185.html