Apache Maven 存档器

Maven Archiver 主要被插件用来处理打包。此页面上的自列中引用的版本号是 Maven Archiver 组件的版本 - 不适用于任何特定插件。要查看插件使用的 Maven Archiver 版本,请访问该插件的站点。

<archive>
  <addMavenDescriptor/>
  <compress/>
  <forced/>
  <index/>
  <pomPropertiesFile/>

  <manifestFile/>
  <manifest>
    <addClasspath/>
    <addDefaultEntries/>
    <addDefaultImplementationEntries/>
    <addDefaultSpecificationEntries/>
    <addBuildEnvironmentEntries/>
    <addExtensions/>
    <classpathLayoutType/>
    <classpathPrefix/>
    <customClasspathLayout/>
    <mainClass/>
    <packageName/>
    <useUniqueVersions/>
  </manifest>
  <manifestEntries>
    <key>value</key>
  </manifestEntries>
  <manifestSections>
    <manifestSection>
      <name/>
      <manifestEntries>
        <key>value</key>
      </manifestEntries>
    <manifestSection/>
  </manifestSections>
</archive>
      

档案

元素 描述 类型 自从
添加MavenDescriptor 创建的存档是否会包含这两个 Maven 文件:
  • pom 文件,位于存档中 META-INF/maven/${groupId}/${artifactId}/pom.xml
  • 一个pom.properties文件,位于存档中META-INF/maven/${groupId}/${artifactId}/pom.properties
默认值为true
布尔值
压缩 为存档激活压缩。默认值为true 布尔值
被迫 是否强制重新创建存档(默认)。将此选项设置为false, 意味着存档器应将包含文件的时间戳与目标存档的时间戳进行比较并重建存档,前提是后者的时间戳在前一个时间戳之前。检查时间戳通常会带来性能增益(特别是,如果可以抑制构建中的以下步骤,如果不重新创建存档),则会不时获得不准确的结果。特别是,不会检测到源文件的删除。

存档器不一定支持检查更新。如果是这样,则将此选项设置为true将被忽略。

默认值为true
布尔值 2.2
指数 创建的存档是否包含 INDEX.LIST文件。默认值为false 布尔值
pom属性文件 使用它来覆盖自动创建的 pom.properties文件(仅当addMavenDescriptor设置为 时true 文件 2.3
清单文件 有了这个,您可以提供自己的清单文件。 文件
显现
清单条目 要添加到清单的键/值对列表。 地图
清单部分

pom.properties 内容

自动创建的pom.properties文件将包含以下内容:

artifactId=${project.artifactId}
groupId=${project.groupId}
version=${project.version}

显现

元素 描述 类型 自从
添加类路径 是否创建Class-Path清单条目。默认值为false 布尔值
添加默认条目 如果清单将包含这些条目:
Created-By: Maven Archiver ${maven-archiver.version}
Build-Jdk-Spec: ${java.specification.version}
Created-By从 3.5.0 开始,可以使用 MavenArchiver.setCreatedBy(...) API覆盖 entry 的默认值。
默认值为true
布尔值 3.4.0
addDefaultImplementationEntries 如果清单将包含这些条目:
Implementation-Title: ${project.name}
Implementation-Version: ${project.version}
Implementation-Vendor: ${project.organization.name}
默认值为false
布尔值 2.1 和 2.6
添加默认规范条目 如果清单将包含这些条目:
Specification-Title: ${project.name}
Specification-Version: ${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}
Specification-Vendor: ${project.organization.name}
默认值为false
布尔值 2.1
addBuildEnvironmentEntries 如果清单将包含这些条目:
Build-Tool: ${maven.build.version}
Build-Jdk: ${java.version} (${java.vendor})
Build-Os:  ${os.name} (${os.version}; (${os.arch})
默认值为false
布尔值 3.4.0
添加扩展 是否创建Extension-List清单条目。默认值为false 布尔值
类路径布局类型 格式化 created 中的条目时要使用的布局类型 Class-Path。有效值为:simple, repository(与 Maven 类路径布局相同)和 custom.
注意:如果您指定类型,custom您 还必须设置customClasspathLayout. 默认值为simple
细绳 2.4
类路径前缀 将作为所有Class-Path 条目前缀的文本。默认值为"" 细绳
自定义类路径布局 当设置的布局类型 classpathLayoutType具有值时使用的布局表达式custom。表达式将根据以下与类路径相关的对象的有序列表进行评估:
  1. 当前的 Artifact 实例(如果存在)。
  2. 来自上述工件的当前 ArtifactHandler 实例。
注意:如果指定布局类型,则custom 必须设置此布局表达式。
细绳 2.4
主类 Main-Class清单条目。 细绳
包裹名字 包清单条目。 细绳
使用唯一版本 是否使用唯一时间戳快照版本而不是 -SNAPSHOT 版本。默认值为true 布尔值 2.4

清单部分

元素 描述 类型 自从
姓名 部分的名称。 细绳
清单条目 要添加到清单的键/值对列表。 地图