JAR (Java ARchive) File Format Specification


What Is Specifiction of JAR (Java ARchive) File Format?

✍: FYIcenter.com


JAR (Java ARchive) is a platform-independent file format that aggregates many files into one file. The specification of JAR file format is divided into several areas:

1. JAR Internal Archive Structure - When files and folders are archived into a JAR file, folder names, file names, file sizes and timestamps will recorded in the same way as the ZIP file format.

2. File Compression - When files are archived into a JAR file, them can be compressed in the same way as the ZIP file format.

3. Java Class File Locations - When JVM tries to load a Java class file from a JAR file, it will use the class package name as the file path name to locate the class file. For example, when JVM tries to load com.sun.activation.viewers.ImageViewer class from the activation.jar file, it will search for com/sun/activation/viewers/ImageViewer.class file in the JAR file.

4. Manifest File - A JAR file can provide a manifest file at the META-INF/MANIFEST.MF location to define extension and package related data. See manifest file specification for more details.

5. Index File - A JAR file can provide an index file at the META-INF/INDEX.LIST location to be used by class loaders to speed up their class loading process.

5. Signature Files - A JAR file can provide a pair of META-INF/x.SF and META-INF/x.DSA to store signature related information.

6. Service Configuration Files - A JAR file can provide service configuration files under the META-INF/services path name to configure mappings between services interfaces and abstract classes to implementation classes.

For more details, see JAR File Specification page provided by Oracle.

Back to FAQ on JAR (Java ARchive) File Format.

2016-04-23, 590👍, 0💬