logo

JavaのJARファイル

JAR (Java アーカイブ) は、Java プラットフォーム上でアプリケーション ソフトウェアやライブラリを配布するために、多くの Java クラス ファイルと関連するメタデータおよびリソース (テキスト イメージなど) を 1 つのファイルに集約するために通常使用されるパッケージ ファイル形式です。 
簡単に言うと、JAR ファイルは、.class ファイル、オーディオ ファイル、画像ファイル、またはディレクトリの圧縮バージョンを含むファイルです。 .jar ファイルは、WinZip ソフトウェアを使用して作成された圧縮ファイル (.zip) であると考えることができます。 WinZip ソフトウェアでも .jar の内容を抽出することができます。したがって、これらをロスレス データ圧縮のアーカイブ解凍やアーカイブの解凍などのタスクに使用できます。 

.jar ファイルの作成方法と、.jar ファイルの操作に役立つ関連コマンドを見てみましょう。 

1.1 JARファイルの作成

順番に 使用できる .jar ファイルを作成するには jar cfコマンド 以下で説明するように、次の方法で実行します。

構文:



jar cf jarfilename inputfiles

ここで cf はファイルを作成することを表します。たとえば、パッケージ Pack が C:directory で利用可能であり、それを jar ファイルに変換して Pack.jar に保存すると仮定すると、次のコマンドを実行できます。 

C:> jar cf pack.jar pack

1.2 JARファイルを表示する

今、 パック.jar ファイルが作成されます。 JAR ファイル「.jar」ファイルを表示するには、次のコマンドを使用できます。 

構文:

jar tf jarfilename

ここで、 tf はファイルの内容のテーブル ビューを表します。たとえば、pack.jar ファイルの内容を表示するには、次のコマンドを実行します。 

C:/> jar tf pack.jar

これで、pack.jar の内容が次のように表示されます。

META-INF/  
META-INF/MANIFEST.MF
pack/
pack/class1.class
pack/class2.class
..
..

ここで、class1 class2 などはパッケージ パック内のクラスです。最初の 2 つのエントリは、マニフェスト ファイルが作成され、pack.jar に追加されていることを表します。 3 番目のエントリはネーム パックのサブディレクトリを表し、最後の 2 つはディレクトリ パック内のファイル名を表します。 
 

注記: .jar ファイルを作成すると、デフォルトのマニフェスト ファイルが自動的に受信されます。アーカイブ内に存在できるマニフェスト ファイルは 1 つだけであり、常にパス名を持ちます。 

META-INF/MANIFEST.MF

このマニフェスト ファイルは、パッケージ化されている他のファイルに関する情報を指定するのに役立ちます。

1.3 JARファイルの抽出

.jar ファイルからファイルを抽出するには、以下のコマンドを使用できます。

jar xf jarfilename

ここで、xf は jar ファイルからの抽出ファイルを表します。たとえば、pack.jar ファイルの内容を抽出するには、次のように記述できます。 

C:> jar xf pack.jar

これにより、C に次のディレクトリが作成されます。 

META-INF

このディレクトリには、class1.class と class2.class が表示されます。

pack 

1.4 JAR ファイルの更新  

Jar ツールには、マニフェストを変更するかファイルを追加することによって、既存の JAR ファイルの内容を更新するために使用できる「u」オプションが用意されています。ファイルを追加する基本的なコマンドの形式は次のとおりです。

構文:

jar uf jar-file input-file(s)

ここ ' うーん 更新されたjarファイルを表します。たとえば、pack.jar ファイルの内容を更新するには、次のように記述できます。 

C:>jar uf pack.jar

1.5 JAR ファイルの実行

JAR ファイルとしてパッケージ化されたアプリケーション (Main-class マニフェスト ヘッダーが必要) を実行するには、リストされている次のコマンドを使用できます。

構文:

C:>java -jar pack.jar

関連記事

Java での JAR ファイルとマニフェスト ファイルの操作  

クイズの作成