skillup

技術ブログ

Java

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

投稿日:2015年11月25日 更新日:

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

mavenでのjarファイル作成

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

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

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

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

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

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

参考リンク

mavenで実行可能なjarファイルと依存ライブラリを含めたzipアーカイブを作成する

TECHSCORE 7. Maven Tips

依存するjarを含んだバッチ用jarファイルをMavenでビルドする手順

Maven Assembly Plugin をマルチモジュールプロジェクトで使う

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

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

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

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

URLパターンマッピング

JavaEEではURLのマッピングについて結構悩んだんですが、サーブレットは案外簡単ですね。 web.xmlで設定することもできるようですが、アノテーションで設定することもできるようです。 例えば s …

no image

try~catch~finallyで気を付けること

JavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。 [crayon-5 …

no image

glassfishとDB接続 ~CUI操作~

JavaEEではDBを使うときにglassfish内で設定が必要です。 基本的にはGlassFishでDB接続などのようにブラウザで管理画面から情報を入力することが可能です。 ただCUIや設定ファイル …

no image

型情報の取得・活用について

Javaで抽象度の高い実装を行うときに必要となる型情報の活用法について。 できるとできないとでプログラムの応用範囲が変わってくるのでメモっときます。 こちらのエントリーと合わせて読むといいと思います。 …

no image

開発環境と本番での設定ファイル変更

開発と本番で設定ファイル自体(web.xmlなど)はわけると思うのですが、以前はわからず、開発のものと本番のものを手動でわけていました。 Javaでどうやってやるかを調べたところ、pomにかなり便利な …