Apache Maven Assembly 插件是一个强大的工具,允许您以多种格式(如 ZIP、TAR 和 JAR)创建项目的分发包。
该插件特别适用于将项目与其依赖项、配置文件和其他必要资源一起打包。
通过使用 Maven Assembly 插件,您可以将项目作为一个单独的归档文件分发,从而更方便地共享和部署。
最新版本
Maven Assembly 插件的最新版本为 3.7.1。
使用最新版本可以确保访问到最新的特性和改进。
配置 Maven Assembly 插件
要在 Maven 项目中使用 Assembly 插件,您需要在项目的 pom.xml
文件中进行配置。
下面将通过步骤介绍如何设置 Assembly 插件。
步骤 1: 创建 Maven 项目
如果您还没有 Maven 项目,可以使用以下命令创建一个新的 Maven 项目:
mvn archetype:generate -DgroupId=com.example -DartifactId=assembly-plugin-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
该命令会生成一个简单的 Maven 项目,其目录结构如下:
assembly-plugin-demo
|-- src
| |-- main
| | `-- java
| | `-- com
| | `-- example
| | `-- App.java
| `-- test
| `-- java
| `-- com
| `-- example
| `-- AppTest.java
|-- pom.xml
`-- target
步骤 2: 添加 Maven Assembly 插件配置
进入项目目录并打开 pom.xml
文件,在 <build>
标签内添加 Maven Assembly 插件的配置:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>assembly-plugin-demo</artifactId><version>1.0-SNAPSHOT</version><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.App</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>
</project>
<groupId>
: 指定 Maven Assembly 插件的组ID。<artifactId>
: 指定 Maven Assembly 插件。<version>
: 使用的插件版本。请确保使用最新版本。<descriptorRefs>
: 指定要创建的分发包类型。在这个例子中,jar-with-dependencies
用于创建包含所有依赖项的 JAR 文件。<archive>
: 配置归档设置,例如 JAR 清单中的主类。<executions>
: 定义插件的执行,指定何时创建分发包。在这个例子中,分发包在package
阶段创建。
步骤 3: 创建主类
打开 src/main/java/com/example/App.java
文件,并更新 App
类以打印 “Hello, World!”:
package com.example;public class App {public static void main(String[] args) {System.out.println("Hello, World!");}
}
步骤 4: 构建项目
使用以下命令构建项目并创建分发包:
mvn clean package
构建完成后,您会在 target
目录中找到生成的 JAR 文件:
target/
|-- assembly-plugin-demo-1.0-SNAPSHOT.jar
|-- assembly-plugin-demo-1.0-SNAPSHOT-jar-with-dependencies.jar
|-- classes
|-- generated-sources
|-- maven-archiver
|-- maven-status
|-- surefire-reports
|-- test-classes
`-- ...
其中,assembly-plugin-demo-1.0-SNAPSHOT-jar-with-dependencies.jar
文件包含了项目的类和所有依赖项。
步骤 5: 运行打包后的 JAR 文件
使用以下命令运行打包后的 JAR 文件:
java -jar target/assembly-plugin-demo-1.0-SNAPSHOT-jar-with-dependencies.jar
该命令将输出:
Hello, World!
总结
Maven Assembly 插件用于创建项目的分发包。
通过将其集成到 Maven 构建过程中,您可以轻松地将项目及其所有依赖项和其他必要资源打包。
本指南全面介绍了设置和使用 Maven Assembly 插件的方法,并附带一个实际示例帮助您快速上手。
掌握这些知识后,您可以高效地创建和分发 Java 应用程序。