您的位置:首页 > 编程语言 > Java开发

Unable to locate Spring NamespaceHandler for XML schema namespace异常的处理方法

2018-02-08 12:05 507 查看

Spring框架容器配置文件无法解析名称空间Unable to locate Spring NamespaceHandler for XML schema namespace异常的处理方法

在使用spring 框架实践中,容器的xml配置文件头部如需要第三方的名称空间,所谓的名称空间,就是一些xml配置约定,元素类型、格式要求等。但是build工程时,会报错Unable to locate Spring NamespaceHandler for XML schema namespace,究其原因,是在工程的classpath路径下未找到正确的NamespaceHandler来解析配置文件中的名称空间。因此需要在工程的classpath路径中导入包含指定的NamespaceHandler的jar包。如果使用maven管理依赖,只需要在pom文件中添加一个jar包。

遇到的坑

在项目开发或测试时,工程的间接依赖jar包已经包含了spring配置文件所需的NamespaceHandler。也就是说NamespaceHandler已经加到classpath中了,所以在build工程时不会抛异常Unable to locate Spring NamespaceHandler for XML schema namespace。为此在老的build正常的工程下运行maven命令mvn dependency:tree查看依赖树,然后搜索包含NamespaceHandler的依赖jar,霍然在列。回到新工程,果断添加这个依赖,重新build,问题立马解决。与其说是问题,不如说是自己的框架学习的盲点。需要需要深究。这是公司的名称空间:

build工程时报异常,抽丝剥茧,会看到如下一行:配置问题,不能定位到名称空间处理器

在运行正常的老工程上执行mvn dependency:tree:


回到新工程,添加上图依赖

重新build,测试一把,搞定

参考文章:http://www.baeldung.com/unable-to-locate-spring-namespacehandler-for-xml-schema-namespace
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐