使用存储库

介绍

组装插件允许将所需的工件从本地存储库包含到生成的存档中。它们被复制到与远程存储库中类似的目录中的程序集中,并包含元数据和校验和。

此示例演示了在程序集中创建存储库工件,以便可以轻松地使用存档来使用项目使用的工件更新内部存储库。

装配描述符

可以使用以下命令创建项目的功能存储库存档:

<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>

生成装配档案

然后使用以下命令创建程序集存档:

mvn clean assembly:single

生成的存档可以提取到内部存储库,以便项目的用户可以从中下载依赖项。

检查输出

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
        `-- [...]