`
sundful
  • 浏览: 1230474 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven使用assembly打独立可执行jar包启动时报错(关于spring错误的解决方法)

 
阅读更多

错误如下: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掉。

解决方法:使用shade插件来打包.在shade的打包配制中指明spring.handlers和spring.schemas文件会以append方式加入进来,从而确保其他spring的jar中的这两个文件的信息不会被遗漏。下面是一份配置的例子:

 

Xml代码  收藏代码
  1. <plugin>  
  2.                 <groupId>org.apache.maven.plugins</groupId>  
  3.                 <artifactId>maven-shade-plugin</artifactId>  
  4.                 <version>1.4</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.ManifestResourceTransformer">  
  19.                                     <mainClass>com.ddmap.hadoop.db.mongodb.CopyToLocal</mainClass>  
  20.                                 </transformer>  
  21.                                 <transformer  
  22.                                         implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
  23.                                     <resource>META-INF/spring.schemas</resource>  
  24.                                 </transformer>  
  25.                             </transformers>  
  26.                         </configuration>  
  27.                     </execution>  
  28.                 </executions>  
  29.             </plugin>  

 

分享到:
评论

相关推荐

    Maven将带有第三方依赖的可执行程序打包示例

    maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办? maven-shade-plugin 插件打第三方依赖包,spring 有 java....

    maven项目使用assembly打包jar时处理Unable to locate Spring NamespaceHandler问题

    使用assembly插件打包jar后启动时,总是出现...错误,网上找了各种方法都没有用,在尝试了100+失败后,解决了这个问题,在打包的jar中,META-INF目录下,使用下载的压缩包内容替换并重新压缩成jar,就可以正式启动了。

    assembly项目打包插件,包含windows与linux环境下的启动脚本

    maven项目、springboot项目使用assembly插件打包,实现项目可配置化、生成系统日志、jar文件与项目分离,并生成windows与linux环境下启动、停止等操作的脚本文件。

    xmljava系统源码-spring-boot-assembly:SpringBoot项目使用maven-assembly-plugin根据不

    boot项目中的启动jar包移动到boot目录中 将spring boot项目中的第三方依赖jar包移动到外部lib目录中 bin目录中是启动,停止,重启服务命令 打包后的目录结构类似于tomcat/maven目录结构 代码托管 | 主要插件 maven-...

    maven-shade-plugin-3.1.0.jar

    maven打包,指定入口类的jar包,具体的pom配置为: &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-shade-plugin &lt;version&gt;3.1.0 &lt;phase&gt;package &lt;goal&gt;shade implementation="org....

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...

    dwr+springmvc整合方式三

    dwr+springmvc整合的方式三,使用maven构建,maven中使用jetty插件运行项目,使用assembly打包成zip包,zip包括项目和所有使用的jar包。如何没有网络的情况下可以直接使用jar来联系,有网络就直接使用maven就可以...

    ssm+maven+swagger框架整合

    spring4.0.2+springmvc4+mybatis3.2.6+swagger2.40+java1.8+maven框架的整合简单例子,其中还有一些工具类下载下来直接用eclipse 导入项目会自动加载jar,检查jdk对应版本,直接启动tomcat,如果有监听类异常请(右键...

    sparkwebapp:一个使用apache spark的非常简单的spring web应用程序

    一个使用apache spark的非常简单的spring web应用程序目标是采用并使其从一个简单的 spring ... 这里使用的解决方案是用这个 spark-assembly jar 替换 war 中包含的 maven 依赖项。 有关更多详细信息,请参阅此。 作者

    单点登录源码

    - 一站式支付解决方案,统一下单接口,支持支付宝、微信、网银等多种支付方式。不涉及业务的纯粹的支付平台。 - 统一下单(统一下单接口、统一扫码)、订单管理、数据分析、财务报表、商户管理、渠道管理、对账系统...

    sample_java_spring_app:使用 Spring 的初始 Java 项目

    # Initial Java project with Spring 带有 Spring 框架和 Spring IoC 容器的 Java 项目(依赖注入)。 克隆仓库 $ git clone git@github.... $ mvn assembly:assembly -DdescriptorId=jar-

    开源中国源码

    3. 项目已经接入了solr,程序安装需要先运行solr,solr已调试好,可直接启动,使用方法可访问官网查看; 4. 项目用到了阿里大于jar包,Maven时无法使用,可以下载doc/dysmsapi.zip,然后放本地的Maven的.m2\...

    ca源码java-canal-assembly:canal[kə'næl],主要用途是用于MySQL数据库增量日志数据的订阅、消费和解析,是阿

    2、项目依赖的jar包放到指定位置,同时把项目本身打成jar包 部署操作: 1、需要修改logback-spring.xml文件中的日志存放位置 2、修改druid.properties配置文件;数据库的连接信息 3、修改properties.properties配置...

    windows环境下运行java的脚本

    maven编译Spring Boot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse-&gt;Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法...

Global site tag (gtag.js) - Google Analytics