Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

omni.ja (かつてのomni.jar)について

Firefox と Thunderbird は内部的なパーツをスタンドアローンファイルや omni.ja と呼ばれる単一の JAR ファイルに移動することによって、パフォーマンスの改善をしています。omni.ja はアプリケーションのロードに必要となる大量の I/O を軽減させています。この記事は、このアーカイブの内容と、その内容を調べるテクニックを説明します。

Note:  Firefox 10 と Thunderbird 10 から、ファイルの拡張子で .ja を使うようになりました。 Windows のシステム復元で .jar 拡張子がバックアップされず、.ja 拡張子だとバックアップされるからです。この変更は Firefox の破損を防ぐために必要でした。

omni.ja の調査

Note: omni.jar ファイルの展開時に、一部のウイルス対策ソフトウェアが誤った警告を表示することがあります。

いくつかの unzip ツールと (7-Zip を含む) アーカイブツールは、omni.ja ファイルにデータの最適化が行われているため、今のところは、これを読むことができません。Windows 7 のユーザの場合は、ファイル名を omni.zip に変更し、Windows エクスプローラーを使用してすべてのファイルを展開することができます。これより古い Windows のユーザは、InfoZip の UnZip ツールを使用してファイルを展開できます (omni.jar のコピーを作成し、unzip.exe にドラッグ&ドロップしてください)。Linux のユーザは unzip コマンドを使用して omni.ja の中身を取り出すことができます。

omni.ja は他の面でも Zip ファイルと互換性がありません。展開後のファイルを編集するだけでは Firefox に影響を与えませんが、正しい方法で圧縮されていないファイルは Firefox を破損させることがあります。正しいパッケージ方法は以下の通りです。

zip -qr9XD omni.ja *
Note: Firefox 10 と Thunderbird 10 より前のバージョンでは、omni.ja は omni.jar と呼ばれていました。

omni.ja の内容

omni.ja ファイルには、アプリケーションのリソースが分類され含まれています:

chrome.manifest
chrome manifest ファイル。
/chrome/
アプリケーションのユーザインタフェース関連のファイル
/chrome/localized.manifest
ローカライズされたコンテンツの Manifest ファイル。メインの chrome.manifest ファイルから参照されます。
/chrome/nonlocalized.manifest
ローカライズされないコンテンツの Manifest ファイル。メインの chrome.manifest ファイルから参照されます。
/components/
アプリケーションが依存する XPCOM コンポーネント。
/defaults/
デフォルトの設定ファイル。
/modules
JavaScript コードモジュール
/res/
その他のリソースファイル。

See also

 

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: hamasaki, mantaroh, Marsf
 最終更新者: hamasaki,