如何使用maven-shade-plugin生成包含system依赖范围的可执行jar
时间: 2023-03-24 17:01:24 浏览: 715
maven-shade-plugin-1.0.1.jar
Maven Shade插件可以将多个jar包合并成一个可执行的jar包,并且可以将合并后的jar包依赖的其他jar包也打包到该jar包中,从而实现系统依赖范围内的可执行jar包。
以下是使用Maven Shade插件生成系统依赖范围的可执行jar包的步骤:
1. 在Maven项目的pom.xml文件中,添加Maven Shade插件的依赖项:
```
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
</dependency>
```
2. 在Maven项目的pom.xml文件中,配置Maven Shade插件:
```
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
其中,`createDependencyReducedPom`指定是否创建一个简化的POM文件,`shadedArtifactAttached`指定生成的jar包是否作为附加的构件,`shadedClassifierName`指定生成的jar包的分类器名称。
3. 运行Maven项目的打包命令,生成系统依赖范围内的可执行jar包:
```
mvn package
```
执行该命令后,Maven Shade插件会自动将项目打包成可执行的jar包,并且将该jar包依赖的其他jar包也打包到该jar包中,从而生成系统依赖范围内的可执行jar包。生成的jar包的名称一般为`<项目名称>-<版本号>-jar-with-dependencies.jar`。
阅读全文