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

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

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

概要

編集

一般的にC言語C++などで書かれたマシンネイティブなプログラムやライブラリ(ネイティブコード)もアーカイブにまとめられて配布されることが多いが、それらは展開してインストールする必要がある。これに対して、Java実行時環境 (Java Runtime Environment: JRE) などに含まれるJavaの標準ツールはJARを直接扱えるため、ユーザが明示的にJARを展開する必要はない。

Javaの標準的なソフトウェア開発キット (Java Development Kit: JDK) には、jarというコマンドラインツールが付属しており、Javaコンパイラjavac[4]で生成したJavaクラスファイルをもとにJARファイルを生成することができる。Javaの標準ライブラリにもjava.util.jarパッケージがあり、JavaプログラムからJARファイルの読み書きができるAPIとして用意されている[5]

類似するアーカイバとして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アプリケーションを実行するとき、ユーザがその署名を信用した場合に限り、サンドボックスモデルではできなかったユーザのローカル環境にあるターゲット資源にアクセスすることが可能になる。

JARファイルは後方互換性 (backward compatibility) はあるものの、前方互換性 (forward compatibility) は保証されない。古いバージョンのJDKで生成したJARを、新しいバージョンのJDKで利用したり新しいバージョンのJREで実行したりすることはできるが、逆に新しいJDKで生成したJARを古いJDKで利用したり古いJREで実行したりしてはいけない[6]。なお、Java SE 20まではJARファイル仕様の後方互換性に関してドキュメントに記載があった[7]が、Java SE 21以降は特に書かれていない[8]

脚注

編集

関連項目

編集

📚 Artikel Terkait di Wikipedia

Archive.today

archive.today(アーカイブトゥデイ、旧:archive.is)は、ウェブページのスナップショットを保存するアーカイブサイトである。 JavaScriptを多用するサイトや、プログレッシブウェブアプリケーションなどにも対応している。 アドレスをトップページの上段赤枠に入力もしくはペーストす

インターネットアーカイブ

HTMLソースにはロボットが収集したものに対して加工が行われており、ソースファイルとして同一のものが提供されない。また、外部ファイル(画像データやJavaScriptなど)の読み込みがある場合、本来の挙動とは異なることが多数ある。例えば、アレクサ・インターネットから提供されるデータにはHTMLファイ

ウェイバックマシン

またウェイバックマシンはウェブクローラーの制限により常に作成されたウェブページが全て収録されるわけではない上、FlashプラットフォームやJavaScriptで書かれたフォームといったインタラクティブ機能はホストウェブサイトとの対話が必要なため完全にアーカイブできない。ウェブクローラーはHT

JavaServer Faces

Foundationが開発している、JavaベースのWebアプリケーションフレームワークである。 名称は下記の変遷をたどっている。 Java 8 までは Java Platform, Enterprise Edition の一部で JavaServer Faces という名称だった。 Java 9 以降は Eclipse

OpenJDK

OpenJDK (Open Java Development Kit) は、プログラミング言語Javaの自由かつオープンソースのJava Development Kitの実装である。2006年、サン・マイクロシステムズが始めたもので、OpenJDKはJava SE 7以降の公式リファレンス実装とされている。

Minecraft

主に「Minecraft: Java Edition(Java版)」、「Minecraft: Bedrock Edition(統合版)」という2つのエディションが存在する。基本的には、プレイヤーはこれらのうちどちらかのエディションを選択してプレイすることになる。ソフトウェアのプログラミング言語は、それぞれJava、C++である。

File Roller

iso) [読み取り専用] Java Archive (.jar) Java Enterprise archive (.ear) Java Web Archive (.war) LHA Archive (.lzh, .lha) WinRAR Compressed Archive (.rar) RAR Archived

JavaFX

JavaFX(ジャバエフエックス)はJavaのオープンソースのGUIライブラリである。Swingとは異なり、FXMLと呼ばれるXMLとCSSを併用してデザインを記述する。Java SE 7 Update 2から10までは標準搭載されていたが、現在は分離して配布されている。 Java