The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
JAR files support a wide range of functionality, including electronic signing, version control, package sealing, and others. What gives a JAR file this versatility? The answer is the JAR file's manifest.
The manifest is a special file that can contain information about the files packaged in a JAR file. By tailoring this "meta" information that the manifest contains, you enable the JAR file to serve a variety of purposes.
This lesson will explain the contents of the manifest file and show you how to work with it, with examples for the basic features:
When you create a JAR file, a default manifest is created automatically. This section describes the default manifest.
This section shows you the basic method of modifying a manifest file. The later sections demonstrate specific modifications you may want to make.
This section describes how to use the Main-Class header in the manifest file to set an application's entry point.
This section describes how to use the Class-Path header in the manifest file to add classes in other JAR files to the classpath when running an applet or application.
This section describes how to use the package version headers in the manifest file.
This section describes how to seal packages within a JAR file by modifying the manifest file.
This section describes how to use manifest attributes to increase the security of an applet or Java Web Start application.
A specification of the manifest format is part of the on-line JDK documentation.