【Java】jarファイルって何?基本的な使い方を理解しよう!
  • facebookページ
  • twitterページ
  • 2020.12.25

    【Java】jarファイルって何?基本的な使い方を理解しよう!

    Javaでプログラム開発を行う際、jarという拡張子のファイルを見かけたことがある方も多いと思いますが、jarファイルの役割については理解出来ているでしょうか。

    本記事では、Javaプログラミング初心者の方向けに、jarファイルの概要から基本的な使い方についての情報をご紹介していきます。

    Javaのjarファイルって何?


    Javaでのプログラム開発を行っていると必ずと言って良いほど、拡張子が「.jar」となっているファイルを見たことがあるかと思います。

    このjarファイルについて、まずは基本情報から確認していきましょう。

    jarファイルとは

    jarファイルは、「Java Archive」ファイルの略称で、「アーカイブ」つまりJava開発で利用するファイルをまとめて保管しているファイルということになります。

    具体的には、jarファイルはコンパイル済みのclassファイルや画像などのファイルを、zip形式に圧縮してまとめたファイルです。

    jarファイルはなぜ利用される?

    Javaのシステム開発では、いくつものファイルが組み合わさることでシステムとして稼働するように構築していきます。

    全てのファイルを1つにまとめると容量が非常に大きくなってしまうことも少なくありません。

    ファイルを圧縮して1つのファイルにまとめることで、大幅に容量の節約が可能となります。

    さらに、jarファイルはzip形式のファイルと異なり、jarファイルの状態で使用することが出来るメリットがあります。

    zip形式のような解凍作業は不要で、利便性が高くなっている点もjarファイルが利用される要因です。

    jarファイルの基本的な使い方


    jarファイルの作成や展開、実行といった基本的な使い方について確認していきたいと思います。

    「jar」コマンドを基本に、それぞれの処理に応じたオプションを付与する形で実行します。

    ポテパンダの一言メモ

    今回掲載する内容はMac環境のターミナルで動作確認を行っています。
    基本的には同様のコマンドをWindows環境でも利用出来るかと思いますが、必要に応じて適宜読み替えをお願いします。

    サンプル

    今回のサンプルでは「Document」配下に「sample」フォルダを作成し、下記のファイルを格納しています。

    Main.javaとSub1.javaの記述内容は下記の通りです。

    Main.java

    Sub1.java

    「Main.java」から「Sub1.java」に記載した文字列を呼び出して、ターミナルに出力出来るように記述しています。

    classファイルの作成

    Javaのソースコードを実行するためには、「.java」拡張子のファイルを「.class」ファイルにコンパイルする必要があります。

    まずは用意したサンプルファイルを、下記コマンドでコンパイルしておきましょう。

    コンパイルに成功すると下記のように、同一フォルダにclass拡張子のファイルが出力されていることをご確認頂けます。

    jarファイルの作成

    次にjarファイルを作成するコマンドについてご紹介していきます。

    新規でjarファイルを作成する例としては、下記のようなコマンドが挙げられます。

    「jar」コマンドはjarファイルを作成する基本となるコマンドで「-」の後ろの「cvfm」がオプションです。

    よく利用されるオプション一覧
    • -c: jarファイルの新規作成
    • -v: コンソールに処理内容を表示
    • -f: jarのファイル名指定
    • -t: jarの中身を一覧表示
    • -x: jarファイルの展開
    • -u: jarファイルの更新
    • -m: マニフェストファイルの指定
    • -C: 指定ファイルの取り込み

    サンプルでは下記のように記述してみます。

    今回の場合、現在のディレクトリにあるファイルを全て「sample.jar」というファイル名で圧縮するという意味合いになります。
    ※出力情報をコンソールに表示するオプションも追加しています。

    実行した結果が下記のように表示されます。

    lsコマンドでディレクトの中身を確認してみると、指定したファイル名でjarファイルが作成されていることをご確認いただけます。

    マニフェストファイルはjarを実行する際に必須となるため、マニフェストファイルの作成方法についても合わせて学んでおきましょう。

    マニフェストファイルを作成する

    マニフェストファイルは、「.mf」拡張子のファイルです。

    ファイル内部には下記のように、Mainメソッドを有するクラス名を記述します。

    [Main-Class:クラス名]の形式で記述します。

    今回の場合、Mainメソッドを有するクラスが「Main.java」であるため、「Main」と指定しています。

    ポテパンダの一言メモ

    文末で必ず改行するようにしてください。
    改行しないと正しく実行出来ない場合があるようです。

    jarファイルの実行

    では作成したjarファイルを実行してみたいと思います。

    jarファイルの実行は「java -jar」と記述し、ファイル名を指定することで実行可能です。

    ポテパンダの一言メモ

    ちなみにマニフェストファイルを作成せずにjarファイルを作成して実行した場合、下記のようなエラーが出力されますので確認しておいてください。

    jarファイルを展開する

    jarファイルの中身についてもtオプションを利用して確認しておきましょう。

    tオプションが展開を意味し、fオプションでファイル名を指定しています。

    実行した結果が下記の通りです。

    今回の場合、カレントディレクトをそのままjarファイルとして圧縮しているため、jpgファイルやjavaファイルなども含まれています。

    さいごに: Javaでのプログラミング開発には欠かせないjarファイルの役割を理解しよう


    本記事では、Javaでのプログラミング開発には欠かせないjarファイルに関する情報と基本的な使い方についてご紹介してきました。

    最近はIDEを利用した開発が大半で、jarファイルを利用してはいるけれども実際の使い方については理解できていないような方も増えています。

    今回ご紹介したような基本となる使い方を理解して、曖昧な理解のままjarファイルを利用しなくて良いように学習を進めていきましょう。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE