打包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配置中设置“不覆盖同名文件,而是追加、合并同名文件”。