Trail: Deployment
Lesson: Packaging Programs in JAR Files
Working with Manifest Files: The Basics
Home Page > Deployment > Packaging Programs in JAR Files

Working with Manifest Files: The Basics

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:

Understanding the Default Manifest

When you create a JAR file, a default manifest is created automatically. This section describes the default manifest.

Modifying a Manifest File

This section shows you the basic method of modifying a manifest file. The later sections demonstrate specific modifications you may want to make.

Setting an Application's Entry Point

This section describes how to use the Main-Class header in the manifest file to set an application's entry point.

Adding Classes to the JAR File's Classpath

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.

Setting Package Version Information

This section describes how to use the package version headers in the manifest file.

Sealing Packages within a JAR File

This section describes how to seal packages within a JAR file by modifying the manifest file.

Enhancing Security with Manifest Attributes

This section describes how to use manifest attributes to increase the security of an applet or Java Web Start application.

Additional Information

A specification of the manifest format is part of the on-line JDK documentation.


Problems with the examples? Try Compiling and Running the Examples: FAQs.
Complaints? Compliments? Suggestions? Give us your feedback.

Previous page: Running JAR-Packaged Software
Next page: Understanding the Default Manifest