打包spring项目遇到的坑 Unable to locate Spring NamespaceHandler for XML schema ……shcema/context 产生的原因及解决方法

图1

图2

问题原因:导致该问题的原因就是打包的时候,同时将 spring-context 和 spring-aop包提取到了我们的程序应用的包中,在package过程中,这2个依赖包的 XML schema  重名了,到aop将context的 spring.schemas覆盖了,这样在进行spring加载配置文件过程中,context找不到约束文件来进行比对。

修复方法:1、如果只是简单的ioc的应用,移除aop包的依赖,在打包成artifact的时候,设置不提取aop到应用中。

2、使用maven进行依赖管理,并在maven配置中设置“不覆盖同名文件,而是追加、合并同名文件”。

 

posted @ 2018-12-23 13:06  panda521  阅读(425)  评论(0编辑  收藏  举报