打包插件
简介
在需要将带有额外包的程序部署在集群上的时候,可以通过使用下面的方式将外部包与代码进行合并打包。
注:如果是 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