`

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中的这两个文件的信息不会被遗漏。下面是一份配置的例子:

<build>
  	<plugins>
  		<plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-shade-plugin</artifactId>
           <version>2.2</version>
           <executions>
                 <execution>
                  <phase>package</phase>
                   <goals>
                    <goal>shade</goal>
                   </goals>
               <configuration>
                     <transformers>
                       <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.faquir.read.main.App</mainClass>
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                                    <resource>META-INF/spring.handlers</resource>  
                      </transformer>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                                    <resource>META-INF/spring.schemas</resource>  
                      </transformer>  
                     </transformers>
               </configuration>
                </execution>
           </executions>
        </plugin>
  	</plugins>
  </build>

 

0
1
分享到:
评论

相关推荐

    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-

    单点登录源码

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

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

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

    开源中国源码

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

    windows环境下运行java的脚本

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

Global site tag (gtag.js) - Google Analytics