maven-assembly-plugin打外部jar包
时间: 2024-08-23 13:02:04 浏览: 71
Maven Assembly Plugin是一个强大的插件,它允许你在构建过程中将项目依赖项、源代码、文档等打包成一个或多个自定义的文件结构,比如传统的WAR、EAR、JAR等格式,或者创建更复杂的结构如Linux发行版风格的tar.gz文件。
当你想把外部的jar包包含进你的项目部署包(例如,如果你的应用需要使用第三方库),你可以通过配置`maven-assembly-plugin`来完成。首先,你需要在pom.xml文件中添加`assembly-plugin`并指定相关的配置:
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.example.ApplicationMain</mainClass>
</manifest>
</archive>
<appendAssemblyId>false</appendAssemblyId>
<dependencySets>
<dependencySet>
<excludes>
<exclude>*:sources</exclude>
<exclude>*:javadoc</exclude>
</excludes>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
在这个例子中,`descriptorRef="jar-with-dependencies"`指定了生成的JAR会包含所有项目及其依赖的JAR。`<mainClass>`用于设置主入口。`dependencySets`部分告诉插件如何处理项目的依赖。
执行`mvn clean package`命令后,会在目标目录下生成一个新的包含所有依赖的JAR文件,方便部署。
阅读全文