导入项目启动报错Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps'


导入项目启动报错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已经被占用


解决:(1)将占用的8081端口线程关闭


(2)更改tomcat中server.xml中端口号比如改成:8082



总结:

很低级的一个也是很难发现的一个错误,因为我之前一直用的JDK1.8版本,spring中的springframework.context是不支持的,所以要改成支持的版本,那就是1.7即以下的。改了JDK之后,问题就轻松解决了,在这里进行总结一下,和大家一起分享一下:一是为了提醒自己;二是感谢同事的帮忙,帮我开拓了一种解决问题的思路,后面解决起来就快的多了,这问题让我一样困扰一下午,后来瞬间就开拓了思路。


遇到问题其实并不要紧,好好的分析一下,特别值得注意的是: 去阅读报错的日志,哎呀,可有意思,每当一次次的将bug解决时,宝藏露出水面时,心情就是一个字:


参考附录:


相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念