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-Vendor和Implementation-Vendor条目将不在清单中。
注意:如果您的 pom.xml 没有通过插值引用的<url>元素,则Implementation-URL条目将不在清单中。
注意:如果您的 pom.xml 没有<name>元素,则Specification-Title和Implementation-Title条目将具有“未命名 - ${project.groupId}:${project.artifactId}:${project.version }”作为它们的值。