maven-shade-plugin

本文介绍如何使用Maven Shade插件将项目打包成包含所有依赖的可执行jar文件。通过配置pom.xml文件并指定mainClass,可以轻松创建跨平台运行的jar包。
使用插件maven-shade-plugin,非常好用
使用插件maven-shade-plugin可以方便的将项目已jar包的方式导出,插件的好处在于它会把项目所依赖的其他jar包都封装起来,这种jar包放在任何JVM上都可以直接运行。


使用步骤 :

将插件添加到pom.xml中,需要改的地方就是mainClass,在这里指定main方法的位置

使用mvn package打包,最后到projectName/target/下查找目标jar包

<build>
<plugins>
<!-- shade插件打包成jar包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>xxx.xxx</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>


Assembly 插件:
<!-- assembly插件打包成jar包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>xxx.xxx</mainClass>
</manifest>
</archive>

</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>


参考:http://www.myexception.cn/other/1960512.html

http://www.blogjava.net/qileilove/articles/410887.html

Maven Shade Plugin 入门指南
http://www.jianshu.com/p/7a0e20b30401

Resource Transformers
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html

常用Maven 插件总结
https://my.oschina.net/u/1387007/blog/519581


http://stackoverflow.com/questions/21718357/using-different-properties-files-for-runnable-jars-maven-eclipse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值