组装插件允许将所需的工件从本地存储库包含到生成的存档中。它们被复制到与远程存储库中类似的目录中的程序集中,并包含元数据和校验和。
此示例演示了在程序集中创建存储库工件,以便可以轻松地使用存档来使用项目使用的工件更新内部存储库。
可以使用以下命令创建项目的功能存储库存档:
<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
`-- [...]