打包插件

打包插件

简介

在需要将带有额外包的程序部署在集群上的时候,可以通过使用下面的方式将外部包与代码进行合并打包。

注:如果是 Spring Boot 项目则可以直接使用 GraalVM Native Support 打包成可执行文件。

Maven

样例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>xxx.xxx.xxx</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

如果需要移除某些包则可以新增下面的配置项:

1
2
3
4
5
6
7
8
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
<version>xxx</version>
<scope>provided</scope>
</dependency>
</dependencies>

Gradle

build.gradle 文件中新增如下内容即可:

1
2
3
4
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'java'
}

参考资料

Apache Maven Assembly Plugin 官方文档

Gradle Shadow


打包插件
https://wangqian0306.github.io/2022/maven-assemble/
作者
WangQian
发布于
2022年6月10日
许可协议