使用assembly打出的独立可执行jar包启动时报错spring错误的解决方法

来源:互联网 发布:新东方四级怎么样知乎 编辑:程序博客网 时间:2024/05/21 19:27

      有一个小工程,使用了spring,在使用maven的assembly打包成独立可执行的jar包后,在执行时报如下错误:
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace
      网上对这个问题也有提及,这是assembly的一个bug.参见:http://jira.codehaus.org/browse/MASSEMBLY-360 原因是spring的多个jar包中都含有spring.handlers和spring.schemas文件,而assembly只会把第一次遇到的文件打入jar包,后面遇到的都会skip掉。
      解决方法就是放弃assembly,使用shade插件来打包.在shade的打包配制中指明spring.handlers和spring.schemas文件会以append方式加入进来,从而确保其他spring的jar中的这两个文件的信息不会被遗漏。下面是一份配置的例子:

原创粉丝点击