maven 插件: maven-shade-plugin 可执行jar 配置

转载 2018年04月17日 18:28:12

要使用 shade 插件,必须在 pom 进行如下配置:

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>1.4</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <resource>META-INF/spring.handlers</resource>  
                    </transformer> 
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <!--自己的main方法路径-->
                        <mainClass>com.chenzhou.examples.Main</mainClass>  
                    </transformer>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <resource>META-INF/spring.schemas</resource>  
                    </transformer>  
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>  

上面配置文件中有一段定义:

<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>

上面这段配置意思是把 spring.handlers 和 spring.schemas 文件以 append 方式加入到构建的 jar 包中,这样就不会出现 xsd 找不到的情况。

配置完 pom 后,调用 mvn clean install 命令进行构建,构建成功后打开工程 target 目录,发现生成了 2 个 jar 包,一个为:original-XXX-0.0.1-SNAPSHOT.jar,另一个为:XXX-0.0.1-SNAPSHOT.jar,其中 original…jar 里只包含了工程自己的 class 文件,而另外的一个 jar 包则包含了工程本身以及所有依赖的 jar 包的 class 文件。我们只需要使用第二个 jar 包就可以了。

Maven的配置与使用

Maven是现在企业项目之中使用最多构建工具,也是自Ant之后使用最为广泛的构建工具,掌握Maven可以方便的实现开发包的管理操作。在本课程中将为读者讲解Maven的使用,Eclipse集成开发以及Nexus私服的配置操作。官方QQ群:612148723。
  • 2017年01月04日 19:15

maven 自定义插件开发

1、 前言:自定义插件就是解决在maven执行过程的生命周期里执行一些自定义的逻辑。 1.首先导入maven的api dependencies> dependency> ...
  • z69183787
  • z69183787
  • 2016-10-31 14:39:02
  • 4006

maven自定义插件开发

Maven 作为一个优秀的项目管理工具,其插件机制为其功能扩展提供了非常大的便捷性。虽然说大多数情况下,我们可能不太会自己去编写 Maven 插件,但不排除在某些特殊的情况下,我们需要去完成一个自己的...
  • u012620150
  • u012620150
  • 2017-11-28 10:47:56
  • 262

Maven插件编写

需求: 在Maven编译项目的时候,统计代码量,即项目中的文件数目、代码行数,包括java文件和配置文件两种;其中配置文件(sql、xml、properties)代码行数/4 处理。 ...
  • sxe18652071425
  • sxe18652071425
  • 2015-10-12 23:14:35
  • 1198

自定义Maven插件

最近又开始使用maven
  • googlevsbing
  • googlevsbing
  • 2014-08-16 15:46:35
  • 1756

maven 自定义插件开发

创建maven工程
  • channe998
  • channe998
  • 2016-08-04 13:22:08
  • 217

Maven插件的编写

Eclipse上如果想要开发Maven的插件,首先保证该eclipse已经安装了m2e插件。IDEA则自带了Maven的插件,可以直接进行开发。Eclipse 新建一个Maven工程 2 选择由ar...
  • lyjshen
  • lyjshen
  • 2016-08-21 17:24:41
  • 3347

编写自定义Maven2插件

from:http://jwu.iteye.com/blog/612944 一、创建一个插件项目      > mvn archetype:create -DgroupId=org.sonatyp...
  • z69183787
  • z69183787
  • 2016-10-31 14:42:17
  • 364

Maven自定义插件开发(rapid-generator自动生成代码)

Maven自定义插件开发(rapid-generator自动生成代码)很多人都在重复无聊的codeing中,偶尔有一天发现一个可以集成的插件,一键生成代码,但是也不是自己需要的风格。 使用rapid...
  • qinxuefly
  • qinxuefly
  • 2017-09-01 17:39:39
  • 515

Android Cordova <em>插件开发</em>之编写<em>自定义插件</em>

Android Cordova <em>插件开发</em>之编写<em>自定义插件</em>源码 综合评分:5 收藏(2)评论(8)...spring mvc+mybatis+mysql+<em>maven+</em>bootstrap 整合实现增删查改简单实例.zip 资源...
  • 2018年04月18日 00:00
收藏助手
不良信息举报
您举报文章:maven 插件: maven-shade-plugin 可执行jar 配置
举报原因:
原因补充:

(最多只允许输入30个字)