Firefox and Thunderbird achieve performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called
omni.ja; this reduces the amount of I/O needed to load the application. This article covers the contents of the archive and techniques for inspecting those contents.
Note: Starting with Firefox 10 and Thunderbird 10, the file extension
.ja is used because Windows System Restore does not back up files with the
.jar extension, but it does back up
.ja files. This change was needed to prevent Firefox from becoming corrupted.
Inspecting and repacking omni.ja
omni.ja, you may incorrectly get false warnings from some virus protection software.
Several unzip tools and archives (except for the latest version of 7-Zip) currently cannot read
omni.ja, due to the optimization that is applied to the file. It is suggested that Windows 7 users unzip the file by renaming it to
omni.zip and using Windows Explorer to extract all files. Users of older versions of Windows can use InfoZip's UnZip tool to extract files - make a copy of
omni.ja, and drag-and-drop it onto
unzip.exe. Linux users can simply use unzip command to inflate files of omni.ja.
omni.ja is also incompatible with Zip files in the other direction; editing extracted files won't affect Firefox, and repacking edited files may break Firefox if you do not use the right options when packing the extracted files. The correct command to pack
zip -0DXqr omni.ja *
The working directory must be at the root directory of the files from the
zip -0DXqr omni.ja path/to/omni/* will not work.
omni.ja file contains assorted application resources:
- The chrome manifest file.
- User interface files for the application
- Manifest of localized content; referenced by the main chrome manifest file.
- Manifest of non-localized content; referenced by the main chrome manifest file.
- XPCOM components the application relies upon.
- Default preference files.
- Miscellaneous resource files.