Maven打包可执行jar,包含依赖jar包

时间:2022-01-09 15:30:14

maven里,很多插件可以实现我们所需要的一些功能,今天说一下Maven打包可执行jar,包含依赖jar包。这样的插件用的还比较多点,比如jstorm,Apache Ignite(1.3.0-incubating版本的分布式类加载系统还不完善,手动把依赖的jar包打包拷贝到lib目录)。


Maven打包可执行jar,包含依赖jar包的插件很多,其中,感觉maven-shade-plugin配置最简洁,功能也比较好。(maven-assembly-plugin也可以,不过特别之处有问题)。

简单的配置如下:

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.doctor.weixin.MainEntrance</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>

其中,项目pom配置依赖了:

  <dependency>
<groupId>me.chanjar</groupId>
<artifactId>weixin-java-cp</artifactId>
<version>1.3.0</version>
</dependency>

执行命令:

 mvn clean package


看下打包的jar文件:

Maven打包可执行jar,包含依赖jar包

依赖的包已经出现在jar里面。