Automatic creation of Java archives
PrefaceCommand line versionEclipse plugin
Bernd Eggink, Project page:
Autojar creates jar archives of minimal size from different sources (classes, directories, libraries). Starting from one or more classes, it scans the bytecode recursively for other classes, extracts them from their archives if necessary, and adds them to the output file. The resulting archive contains only classes that are really needed. Thus the size and loading time of applets can be kept low, and applications can be made self-contained.
In a similar way, Autojar can search directories and archives for other resources (like image files), extract them and copy them to the output.

Besides that, Autojar can be used to merge several libraries into one, or to replace single classes in an archive without manually unpacking and re-packing it.

A potential problem is reflection. Autojar doesn't know which classes the program will load during runtime. It can, however, search the bytecode for invocations of Class.forName() and issue warnings. Moreover, if a constant class name is used, Autojar can look up this class and add it automatically.

Autojar works with JRE 1.4.2 or later. It uses classes from the BCEL library ( and from log4j (

As of version 2.0, Autojar comes in two variants: A command line version, which is controlled by options, and an Eclipse plugin.

Please report bugs via the SourceForge bug system.
Created 2011-05-10 by mopcoge