今回紹介するのはjarコマンドで.javaファイルからjarファイルを作成する方法ではなく、コンパイルされたクラスファイル(*.class)からjarファイルを作成する方法を紹介します。
クラスファイルを元にjarファイルを作成するコマンド例です。
①対象フォルダ階層(カレントディレクトリ内のみ)のclassファイルをパッケージ
#対象フォルダ階層(カレントディレクトリ内のみ)のclassファイルをパッケージ
jar -cf <ファイル名.jar> *.class
②対象フォルダの子ディレクトリを含むclassファイルをパッケージ
#対象フォルダの子ディレクトリを含むclassファイルをパッケージ
jar -cf <ファイル名.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ファイルをzipファイルの拡張子にリネームして解凍してみましょう。
圧縮されたファイルが展開されて内容が確認できます。
#sample-code.jarを解凍
sample-code
├─com
│ ├─sample1
│ │ MyClassA.class
│ │ MyClassB.class
│ │
│ └─sample2
│ MyClassC.class
│
└─META-INF
MANIFEST.MF #jarコマンドによって作成されたマニフェストファイル
META-INFフォルダとマニフェストファイルはjarコマンド実行時に自動で作成されます。
以上でクラスファイルを格納したフォルダからjarファイルを作成する方法の解説でした。
おつかれさまでした!!