组装插件允许将所需的工件从本地存储库包含到生成的存档中。它们被复制到与远程存储库中类似的目录中的程序集中,并包含元数据和校验和。
此示例演示了在程序集中创建存储库工件,以便可以轻松地使用存档来使用项目使用的工件更新内部存储库。
可以使用以下命令创建项目的功能存储库存档:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd"> <id>repository</id> <formats> <format>jar</format> </formats> <repositories> <repository> <includeMetadata>true</includeMetadata> <outputDirectory>maven2</outputDirectory> </repository> </repositories> </assembly>
上面的描述符告诉Assembly Plugin在生成的归档文件中的maven2目录中创建一个类似于存储库的目录结构。将includeMetadata设置为true将使插件也将元数据信息复制到生成的存档中。
您项目的 pom.xml 与您为其他分发类型配置程序集插件的方式非常相似。
<project> [...] <build> [...] <plugins> [...] <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <descriptors> <descriptor>src/assembly/repository.xml</descriptor> </descriptors> </configuration> </plugin> [...] </project>
Maven 执行完成后,归档内容应类似于:
target/artifactId-version-repository.jar `-- maven2 |-- groupId | |-- maven-metadata.xml | |-- maven-metadata.xml.md5 | |-- maven-metadata.xml.sha1 | `-- artifactId | |-- maven-metadata.xml | |-- maven-metadata.xml.md5 | |-- maven-metadata.xml.sha1 | `-- version | |-- artifactId-version.jar | |-- artifactId-version.jar.md5 | |-- artifactId-version.jar.sha1 | |-- artifactId-version.pom | |-- artifactId-version.pom.md5 | |-- artifactId-version.pom.sha1 | |-- maven-metadata.xml | |-- maven-metadata.xml.md5 | `-- maven-metadata.xml.sha1 `-- groupId2 `-- [...]