maven-shade-plugin 插件作用
时间: 2023-08-23 11:06:07 浏览: 232
Maven Shade Plugin 是 Maven 的一个插件,主要用于解决 Java 项目中的依赖问题。它的作用是将所有依赖库打包到一个可执行的 JAR 包中,以避免因为缺少依赖库而导致的运行错误。
Maven Shade Plugin 的主要功能包括:
- 将所有的依赖库打包到一个 JAR 包中,避免运行时缺少依赖库;
- 可以对依赖库进行重命名,避免不同依赖库之间的命名冲突;
- 可以对资源文件进行过滤和重定向,以解决资源文件冲突或者版本不兼容的问题。
使用 Maven Shade Plugin 打包 JAR 包的步骤如下:
1. 在 pom.xml 文件中添加 Maven Shade Plugin 的依赖。
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
</build>
```
2. 配置 Maven Shade Plugin,包括输出文件名、重命名规则、过滤规则等。
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>my-application</finalName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>org.apache.commons</pattern>
<shadedPattern>myapp.org.apache.commons</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
其中,`finalName` 指定输出文件名,`filters` 指定过滤规则,`relocations` 指定重命名规则。具体规则可以参考 Maven Shade Plugin 的官方文档。
阅读全文