支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • jarファイルとは?使い方について解

はじめに

プログラミング言語として良く用いられているJavaは、オブジェクト指向に則ってプログラムが構成されており、プロジェクト内に多くのクラスを作成し、組み合わせていくことで1つのプログラムを構成しています。クラスが多い分、物理的にもデータを分割する必要があり、1つ1つのコードをコンパイルすることで1つのファイルが作成されるので、プログラムの完成に伴いファイルの数も同時に多くなっていきます。この記事では、そのようなファイルを1つにまとめることができるjarファイルについて記載していきます。

jarファイルについて

jarファイルに集約する目的としては、バージョン管理の一元化やデータ転送時の負担軽減に役立ちます。また、方法によってはJavaアプリケーションをダブルクリックだけで処理を行うように設定出来る過程で用いることもできます。以下ではjarファイルの作成方法について記載していきます。

jarファイルの作成・実行方法

.

jarファイルをコマンドライン上で作成する方法について記載していきます。まず、まとめたいjavaファイルがあるディレクトリまで移動します。その後以下のコマンドを入力します。

jar オプション名 作成したいjarファイル名.jar マニフェスト名 クラス名

上記であると判断しにくいと思いますので、オプション名をcfvm、jarファイル名をtest.jar、マニフェスト名をmanifest.txt、クラス名を全て指定すると以下になります。

jar cvfm test.jar manifest.txt *.class

これでtest.jarという名のjarファイル名が作成されます。また、jarファイルを開くためのコマンドは以下になります。

java -jar test.jar

これでjarファイルの作成と実行の流れは完了になります。まずオプションに関してですが、今回用いたオプションはマニフェストを指定してjarファイルを作成する際に用いるオプションです。用途によって使用するコマンドが変わります。cならばファイル作成、uならばファイルの更新、xならばファイル内容の抽出といった感じになります。他にもjarファイルの操作によってコマンドが変わりますので、利用する状況に応じてコードを検索し、検索してください。

マニフェストは、jarファイルを実行する際に必要になるファイルになります。マニフェストを設定せずに行うと、Javaアプリケーションが実行される際にまず読み込まれるmainメソッドの判断が出来ません。まとめたクラスの中で、どのmainメソッドから読み取るのかを示すのがマニフェストになります。上記の例であれば、オプションのcvfmがマニフェスト属性を記載したファイル(例の場合、manifest.txt)を指定してjarファイルを作成しています。マニフェスト内は、実行するmainメソッドが含まれるクラスを記載します。今回はMainクラス内にmainメソッドがあるとして、最低限の記述として以下を記述します。

Main-class: Main

また、javaの総合開発環境として有名なeclipseからでもファイルをエクスポートすることでjarファイルの作成が可能です。マニフェストも作成してから実行するので、非常に便利です。以下にその方法について記載していきます。(日本語版になります)

①メニューバーの「ファイル」を選択後、「エクスポート」を選択します。
②その後、エクスポート・ウィザードの選択画面が出るので、javaフォルダ内にある「JARファイル」を選択します。
③「エクスポートするリソースの選択」で、jarファイル化したいプロジェクトを選択します。その後「エクスポート先を選択してください」と記載のテキストエリアのjarファイルを作成する場所を選択します。
④「次へ」を2回押すと、「JARマニフェスト仕様」の画面が開きます。表示画面の下の方にある「アプリケーションのエントリー・ポイントのクラス指定」と記載のテキストエリアに、mainメソッドのあるクラスを入力します。(参照タブをクリックすると、候補のクラスが出てくるので、それをクリックすることでも入力できます)
⑤上記の内容で間違いがなければ、「完了」をクリックします。すると③で指定したフォルダにjarファイルが作成されています。

以上になります。eclipseがダウンロードされており、mainメソッドを1つ以上含むプロジェクトを作成しているのであれば上記内容を試すことができるので、是非実践してみてください。もちろんコマンドラインを用いた方法でも大丈夫です。

まとめ

この記事では、Jarファイルについての作成・実行方法について記載してきました。Javaを用いてプログラミングの開発を行うと物理ファイルが増え、データ共有時の負担が増えるので、そういう部分を削減できるjarファイルは非常に有用です。jarファイルの作成方法を理解し、今後のプログラムを用いたシステム開発の効率化を図れるよう、javaを用いてシステム開発を行う方は使いこなせるようにしておくことをおすすめします。ご拝読いただきありがとうございました。