显现

默认清单

Maven Archiver 创建的默认清单将包含以下信息:

Manifest-Version: 1.0
Created-By: Apache Maven ${maven.version}
Build-Jdk: ${java.version}

注意:Build-Jdk考虑工具链配置。它与运行 Maven 实例的 JDK 版本相同。

添加实施和规范详细信息

从 2.1 版开始,Maven Archiver 默认不再在清单中创建实施和规范详细信息。如果您希望它们出现在清单中,则必须在配置中明确说明。

注意:因为这是 Maven Archiver 的最新变化,不同的插件可能已经开始使用它,也可能还没有开始使用它。请检查您要使用的插件的文档。在此示例中,我们使用 maven-jar-plugin 2.1,这是该插件的第一个使用此新功能的版本。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.1</version>
        ...
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

生成的清单将包含以下信息:

Manifest-Version: 1.0
Created-By: Apache Maven ${maven.version}
Build-Jdk: ${java.version}
规范标题:${project.name}
规范版本:${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}
规范供应商:${project.organization.name}
实施标题:${project.name}
实施版本:${project.version}
实施供应商:${project.organization.name}

注意:如果您的 pom.xml 没有<organization>/<name>元素,则Specification-VendorImplementation-Vendor条目将不在清单中。