依存ライブラリを含むプログラムのjar化に関して

 

以前、jar化する場合のpomの記述方法について書いたのですが、一部記述が正しくなかったようです。

mavenでのjarファイル作成

この方法でやってもjarファイルを単独で取り出すとNoClassDefFoundErrorが出てしまいます。

この場合で有効なのはあくまでlibディレクトリが同階層にある場合のようですね。

完全にjarファイル単独で動かす場合ですが、pomに以下のように記述すればOKです。

このように記述してビルドするとjarファイルが2つできます。(依存ファイルを含むものと含まないもの)

jar-with-dependenciesとかかれたものが依存ファイルを含んだものですので、このjarファイルを使う場合は単独で使っても動きます。

中を解凍してみると依存ライブラリが入っているのがわかると思います。

参考リンク

http://terakonya.sarm.net/wordpress/2012/02/02/maven_build_assembly/

http://www.techscore.com/tech/Java/ApacheJakarta/Maven/7-2/

http://takemikami.com/archives/1419/

http://etc9.hatenablog.com/entry/20101207/1291733943

追記:Netbeansで作成したjarファイルを読み込むとき

ツール→ライブラリ→クラスパスで「jar/フォルダの追加」を行い、jarファイルを登録すればクラスパスとして追加することができます。

これ以外にプロジェクトの「依存性」で右クリック→開いているプロジェクト→対象プロジェクトを選ぶでもOKです。

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。