依存先の JAR のクラスが無いと怒られる

当たり前かもしれないが、自分の覚書のために。

java」コマンドから、JAR ファイルに含まれるあるクラスを実行しようとすると、そのクラスが依存している外部 JAR ファイルが、実行しようとしている JAR ファイルに含まれていないと NoClassDefFoundError が出てしまう。
ま、当然ちゃー当然。

で、そんな時は以下の手順で JAR ファイルを生成すると、その JAR が依存している他の JAR ファイルも一緒にパッケージングされる。
もちろん、生成は Eclipse のエクスポートからね。
だって Eclipse が無いと開発できない軟弱開発者だから許してください。

当該プロジェクトを右クリック --> エクスポート --> 実行可能な JAR ファイル


  • 起動構成:適当なクラスを指定
  • エクスポート先:適当なパスを指定
  • ライブラリー処理:生成される JAR に必須ライブラリーをパッケージ

これで出来上がった JAR ファイルを java コマンドのオプション(-cp)に指定してあげれば、無事にクラスを解決できる。


Eclipse 使ってると java コマンドなんて叩かなくなるよね?!
と言い訳せずにちゃんと覚えておく。ふむふむ。