Fork me on GitHub

Manifest customization

The Default Manifest

The documentation for Maven Archiver describes the default contents of the manifest.

Since version 2.1, the Maven JAR Plugin no longer creates the Specification and Implementation details in the manifest by default. To add them, specify them explicitly in your plugin configuration. The documentation for Maven Archiver describes this as well.

Manifest Customization

You can alter the default manifest with the archive configuration element. The example below shows some of the available configuration options. For more information, see the Maven Archiver reference.

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>4.0.0-beta-2</version>
        <configuration>
          <archive>
            <index>true</index>
            <manifest>
              <addClasspath>true</addClasspath>
            </manifest>
            <manifestEntries>
              <mode>development</mode>
              <url>${project.url}</url>
              <key>value</key>
            </manifestEntries>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>