JAR (ファイルフォーマット)

Java Archive
KDE JAR file icon
拡張子.jar
MIMEタイプapplication/java-archive
UTIcom.sun.java-archive
開発者ネットスケープサン・マイクロシステムズ [1]
種別アーカイブ, データ圧縮
派生元ZIP

JAR(ジャー)またはJava Archive(ジャバ アーカイブ)とは、コンパイルされた複数のJavaバイトコード及びそれが使用する画像などのリソースを一つにまとめZIP形式で圧縮されたファイル、及びそれを出力するツールのこと。圧縮されたファイルの拡張子には、「.jar」が使われる[2]

これによりJavaアプリケーションJavaアプレットライブラリの配布が容易になる。アプレットにおいては、複数のJavaクラスファイルを一つにまとめ圧縮することで、全体のファイルの大きさを小さくするだけでなくHTTPコネクションの数を減らせるので、ウェブサーバの負荷が減り、アプレットの起動速度が向上する。

Javaで書かれていないネイティブなプログラムやライブラリもアーカイブにまとめられて配布されることが多いが、それらは展開してインストールする必要がある。これに対して、実行時環境などのJavaのツールはJARを直接扱えるため、ユーザが明示的にJARを解凍する必要はない。

類似するアーカイバとしてJSP/Servletなどのウェブアプリケーションを一つのアーカイブにまとめるWAR (Web Application Archive)、EJB (Enterprise JavaBeans) アプリケーションを一つのアーカイブにまとめるEAR (Enterprise Archive) などがある。

JARを含むこれらのアーカイブの実態はZIPそのものであり、ZIPを扱えるツールで同じように扱うことができる。ただし、JAR, WAR, EAR にはMETA-INF/ディレクトリ内にマニフェストと呼ばれるメタ情報が格納されている。このメタ情報はJARを扱うJavaのツールが解釈する。

また、このJARには電子署名をすることも可能である。これにより、JavaアプレットなどのJavaアプリケーションを実行するとき、ユーザがその署名を信用した場合に限り、サンドボックスモデルではできなかったユーザのローカル環境にあるターゲット資源にアクセスすることが可能になる。

脚注

ウィキブックスにJava関連の解説書・教科書があります。
  1. ^ Java Archive (JAR) Features. Manifest Format
  2. ^ JDK 6 Java Archive (JAR)-related APIs & Developer Guides
プラットフォーム
オラクルのテクノロジー
プラットフォーム技術
主なサードパーティ技術
歴史
主要なJVM言語
コミュニティ
カンファレンス
組織
人物
  • カテゴリ カテゴリ
  • コモンズ コモンズ
  • ポータル Portal:コンピュータ
アーカイブファイルフォーマット(比較)
アーカイブのみ
  • ar
  • AXF
  • BagIt(英語版)
  • cpio
  • LBR(英語版)
  • shar(英語版)
  • tar
  • WAD
圧縮のみ
アーカイブおよび圧縮
  • 7z
  • ACE
  • ARC(英語版)
  • ARJ(英語版)
  • B1(英語版)
  • Cabinet
  • cfs(英語版)
  • cpt
  • dar(英語版)
  • DGCA
  • .dmg(英語版)
  • .egg(英語版)
  • GCA
  • kgb(英語版)
  • LHA
  • LZX
  • MPQ(英語版)
  • PEA
  • .qda
  • RAR
  • rzip(英語版)
  • sit
  • SQX(英語版)
  • UDA(PAQ/UDA)
  • Xar(英語版)
  • zoo
  • ZIP
  • ZPAQ
ソフトウェアパッケージ
  • pkg (SVR4)
  • deb
  • pkg (macOS)
  • RPM
  • RUNZ
  • MSI
  • JAR
    • WAR
    • RAR (Java)
    • EAR
  • XPI
文書パッケージ