[Java] 指定したディレクトリ内のファイルを再帰的にjarファイルにまとめる

20 in 20 March giveaway day 5
Creative Commons License photo credit: hownowdesign

一部ハマってしまった部分があったので、念の為にメモしておきます。

以下、参考にさせていただいたページです。ありがとうございます!

jarファイルの作成方法

指定したディレクトリ内(ここでは「test」ディレクトリ)のファイルを再帰的にjarファイル(ここでは「test.jar」ファイル)にまとめるには、以下のコマンドを実行します。

カンタンですね。

注意点

こんな感じにカンタンにjarファイルを作成できてしまうのですが、実はちょっとした落とし穴があったりします。

ディレクトリ名の直後に「/」(スラッシュ)を付けて上記コマンドを実行した場合、生成されたjarファイルをクラスパスに含めていたとしても、jarファイルに格納されているはずのクラスがロードできなくなってしまいます。以下、問題が生じてしまう例です。

あんまり役に立たないjarファイルができてしまうので要注意ですね。

まとめ

「何でjarファイルの中のクラスがロードできないんだろう?」と小一時間ハマってしまいました。

jarファイルを作成するときは、ディレクトリ名の直後に「/」が含まれていないかどうか、しっかり確認してからコマンドを実行するようにしましょうね。
それでは!