クラスファイルを格納したフォルダからjarファイルを作成する方法

今回紹介するのはjarコマンドで.javaファイルからjarファイルを作成する方法ではなく、コンパイルされたクラスファイル(*.class)からjarファイルを作成する方法を紹介します。

クラスファイルを元に作成するjar基本コマンド

クラスファイルを元にjarファイルを作成するコマンド例です。

①対象フォルダ階層(カレントディレクトリ内のみ)のclassファイルをパッケージ

#対象フォルダ階層(カレントディレクトリ内のみ)のclassファイルをパッケージ
jar -cf <ファイル名.jar> *.class

②対象フォルダの子ディレクトリを含むclassファイルをパッケージ

#対象フォルダの子ディレクトリを含むclassファイルをパッケージ
jar -cf <ファイル名.jar> ./

パッケージ構成のフォルダ内に入ったクラスファイルをまとめてjarファイルにする

今回パッケージングする構成について

下記のような構成のフォルダ、ファイルがある場合を想定して解説を進めます。
このパッケージ構造とその内部に存在するclassファイルを全てパッケージングしてsample-code.jarというファイルを作成していきます。

#パッケージにしたい対象のフォルダ
c:\project\sample-code

#対象のフォルダ内構成

sample-code
└─com
    ├─sample1
    │      MyClassA.class
    │      MyClassB.class
    │      
    └─sample2
            MyClassC.class

パッケージングの手順

1.コマンドプロンプトを開きます。

2.sample-codeフォルダに移動します。

3.jarコマンドを実行します。

jar -cf sample-code.jar ./

作成したいフォルダの最上位階層をカレントディレクトリとしてコマンドを実行するのがポイントです。
この階層位置がずれると作成されたjarファイルの中身のフォルダ構造がおかしくなってしまいます。

作成されたjarファイルの中身

jarファイルをzipファイルの拡張子にリネームして解凍してみましょう。
圧縮されたファイルが展開されて内容が確認できます。

#sample-code.jarを解凍

sample-code
├─com
│  ├─sample1
│  │      MyClassA.class
│  │      MyClassB.class
│  │      
│  └─sample2
│          MyClassC.class
│          
└─META-INF
        MANIFEST.MF #jarコマンドによって作成されたマニフェストファイル

META-INFフォルダとマニフェストファイルはjarコマンド実行時に自動で作成されます。

以上でクラスファイルを格納したフォルダからjarファイルを作成する方法の解説でした。

おつかれさまでした!!

Leave a Reply

Your email address will not be published. Required fields are marked *