如何使用

这些是如何使用 assembly:assembly 和 assembly:unpack 目标的简要示例。

要使用 assembly:assembly 目标,您必须定义要使用的描述符文件或从预定义的描述符 ids中定义 descriptorId 。

如何使用程序集:使用自定义描述符文件的程序集。

  mvn assembly:assembly -Ddescriptor=path/to/descriptor.xml

如何仅使用您的项目模块组装您的项目。

在某些情况下,您只需要项目模块的 jar。您可以排除它们的依赖项,但如果您有 10 个模块,每个模块有 10 个依赖项怎么办?在只需要10个的地方排除100个是不是有点麻烦。要实现这个目标,请将“projectModulesOnly”参数设置为true,maven会为您完成。

 mvn assembly:assembly -DprojectModulesOnly=true

如何使用程序集:使用预定义描述符 id 的程序集。

  mvn assembly:assembly -DdescriptorId=bin

  or  mvn assembly:assembly -DdescriptorId=jar-with-dependencies

  or  mvn assembly:assembly -DdescriptorId=src

如何配置程序集:POM 中的程序集插件

你也可以在你的 pom.xml 中配置这个插件。要运行使用“mvn 程序集:程序集”。

<project>
  ...
  <build>
    ...
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.0-beta-1</version>
        <configuration>
          <descriptor>path/to/descriptor.xml</descriptor>
          <finalName>final_name</finalName>
          <outputDirectory>output/directory</outputDirectory>
          <workDirectory>target/assembly/work</workDirectory>
        </configuration>
      </plugin>
     </plugins>
     ...
   </build>
   ...
</project>

如何使用汇编:解压

运行此目标后,所有依赖项将被提取到 <workDirectory> 元素中指定的位置。

 mvn assembly:unpack

有关插件目标和参数的完整文档,请单击此处

如何组装存储库

您可以为组装存储库创建的最简单的描述符如下所示:

<assembly>
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <repositories>
    <repository>
      <outputDirectory>repository</outputDirectory>
    </repository>
  </repositories>
</assembly>

如果没有指定包含排除,则所有依赖项都用于创建存储库。事实上,当您指定不包含时,默认情况下将包含它们全部,但如果您需要阻止某些工件进入您尝试组装的存储库,您仍然可以指定排除。

默认情况下,在组装存储库时不会生成存储库元数据。如果您尝试创建一个将用作远程存储库的存储库,那么您将需要生成元数据才能使其作为远程存储库正常运行。为此,只需使用includeMetadata元素启用存储库元数据生成:

<assembly>
  <id>bin</id>
  <formats>
    <format>zip</format>
  </formats>
  <repositories>
    <repository>
      <outputDirectory>repository</outputDirectory>
      <includeMetadata>true</includeMetadata>
    </repository>
  </repositories>
</assembly>

请记住,在 POM 中指定的任何依赖项也将在程序集中放置其传递依赖项。