📑 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

Microsoft Visual J++

の、GUIの設計を視覚的に行うことはできない。 J++はJava言語仕様に準拠していたが、マイクロソフトはJavaリモートメソッド呼び出し (Java RMI) やJava Native Interface (JNI) など、サン公式のJava実装の一部の機能をVisual J++に実装していなかった。

WebObjects

EEサーバでも運用することができる。 Java EEとの統合 WebObjectsアプリケーションを.warファイルなどにまとめ、Java EEサーブレットとして運用できる。 JDBC WebObjectsはJDBCドライバを使ってデータベースと通信する。 1.0 — 1996年5月28日

世界のドキュメンタリー

& Ossetia: Phantom States”. JAVA Films. 2024年7月2日閲覧。 ^ “Click Bet”. JAVA Films. 2024年7月3日閲覧。 ^ “Putin vs the West, At War, Invasion”. BBC. 2024年7月16日閲覧。

マカッサル

Editions Didier Millet, 2001. 58–59. ^ Carey, Peter. "Dipanagara and the Java War." Indonesian Heritage: Early Modern History. Vol. 3, ed. Anthony Reid,

Apache Maven

Apache Maven(アパッチ メイヴン/メイヴェン)は、Java用プロジェクト管理ツールである。Apache Antに代わるものとして作られた。Apacheライセンスにて配布されているオープンソースソフトウェアである。 このツールの大きな特徴はプラグイン拡張により様々な使い方ができることである

フリーソフトウェア財団

orgやGNOMEデスクトップ環境のJava依存部の互換性を保証するため、フリーなJava実装(英語版)、GNU Interpreter for Java、GNU ClasspathそしてGNU Compiler for Javaが含まれていた(本項の詳細は、英語版ウィキペディアの記事"License of Java"を参照)。[要出典]

File Roller

ISO-9660 CD Disc Image (.iso) [読み取り専用] Java Archive (.jar) Java Enterprise archive (.ear) Java Web Archive (.war) LHA Archive (.lzh, .lha) WinRAR Compressed

Grails

(グレイルズ)は、プログラミング言語 Groovy を使用するオープンソースのWebアプリケーションフレームワーク。Grails や Groovy はJavaプラットフォーム上で動作する。「設定より規約 (convention over configuration)」というパラダイムにより高い生産性を実