Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 解决方法

Posted sweatear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 解决方法相关的知识,希望对你有一定的参考价值。

      这个问题是在用到spring时,本地IDE里面跑的很正常,但是打包后在集群上运行时报错。

多方查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,会存在文件覆盖的情况。

具体是

这三个文件。查看后,只剩下tx的配置了。

解决方法

第一种方法是使用maven的打包插件,在里面保留各个spring包的配置信息:

  1. <plugin>  
  2.     <groupId>org.apache.maven.plugins</groupId>  
  3.     <artifactId>maven-shade-plugin</artifactId>  
  4.     <version> 1.7.1</version>  
  5.     <executions>  
  6.         <execution>  
  7.             <phase>package</phase>  
  8.             <goals>  
  9.                 <goal>shade</goal>  
  10.             </goals>  
  11.             <configuration>  
  12.                 <transformers>  
  13.                     <transformer  
  14.                         implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
  15.                         <resource>META-INF/spring.handlers</resource>  
  16.                     </transformer>  
  17.                     <transformer  
  18.                         implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
  19.                         <resource>META-INF/spring.schemas</resource>  
  20.                     </transformer>  
  21.                     <transformer  
  22.                         implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
  23.                         <mainClass>com.chenzhou.test.Main</mainClass>  
  24.                     </transformer>  
  25.                 </transformers>  
  26.             </configuration>  
  27.         </execution>  
  28.     </executions>  
  29. </plugin>

但是这种方法限制只能用这种maven插件打包,实际上,只要这三个文件能够包含完整的配置信息就行了

第二种方法其实很简单,找到这三个文件,用我提供的这三个完整的文件覆盖即可。

通常,这三个文件都在jar包下面的META-INF路径下

下载链接为http://files.cnblogs.com/files/starwater/spring.zip

以上是关于Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 解决方法的主要内容,如果未能解决你的问题,请参考以下文章

dpkg dependency problems prevent configuration

Launching New_configuration has encountered a problem

Configuration problem: Failed to import bean definitions from relative location

UVa1605 Building for UN (构造法)

开源项目运行时报错A problem was found with the configuration of task ‘:app:checkDebugManifest‘

Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 解决方法