显现

默认清单

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

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven ${maven.version}
Built-By: ${user.name}
Build-Jdk: ${java.version}

添加实施和规范详细信息

从 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
Archiver-Version: Plexus Archiver
Created-By: Apache Maven ${maven.version}
Built-By: ${user.name}
Build-Jdk: ${java.version}
规范标题:${project.name}
规范版本:${project.version}
规范供应商:${project.organization.name}
实施标题:${project.name}
实施版本:${project.version}
实施供应商 ID:${project.groupId}
实施供应商:${project.organization.name}
实施 URL:${project.url}

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

注意:如果您的 pom.xml 没有通过插值引用的<url>元素,则Implementation-URL条目将不在清单中。

注意:如果您的 pom.xml 没有<name>元素,则Specification-TitleImplementation-Title条目将具有“未命名 - ${project.groupId}:${project.artifactId}:${project.version }”作为它们的值。