12.4.2. 必须的套件信息

对于每个套件来说,有两个重要的信息是必须的:id,和一个要生成的归档格式的列表。实际情况中,至少还需要其它一小节描述符的内容——因为大部分归档格式如果没有可引入的文件,将一文不值,同时,如果没有一个id和至少一种格式,就不会产生任何归档。id首先被用到归档的文件名中,同时它还是归档构件分类器名称一部分。格式(format)字符串同时也控制archiver-component实例去创建最终的套件归档。所有套件描述符必须包含一个id和至少一个format:

Example 12.5. 必须的套件描述符元素

<assembly>
  <id>bundle</id> 
  <formats>
    <format>zip</format>
  </formats>
  ...
</assembly>

套件id可以是任意不包含空格的字符串。标准的实践是使用破折号(-)来分隔单词。如果你要创建一个拥有有趣的唯一打包结构(interesting unique package structure)的套件,那么其id就会是interesting-unique-package。同时,套件描述符还支持多种格式,允许你轻松创建.zip, .tar.gz,和.tar.bz2等熟悉分发归档。如果你没有找到你需要的归档格式,你也可以创建自定义的格式。自定义格式在Section 12.5.8, “componentDescriptors and containerDescriptorHandlers中讨论。Assembly插件原生支持多种归档格式,包括:

  • jar

  • zip

  • tar

  • bzip2

  • gzip

  • tar.gz

  • tar.bz2

  • rar

  • war

  • ear

  • sar

  • dir

id和format至关重要,因为它们将成为套件归档的坐标的一部分。Example 12.5, “必须的套件描述符元素”中的例子会创建一个打包类型为zip,分类器为bundle的套件构件。