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

配列の参照の仕方

変数が存在しているにもかかわらず値が入っていないときは、プログラミングではNULLという表記をします。(ちなみに空白が入っているのとは違います。) これはプログラマにとってはほぼ常識的な内容なのですが …

no image

Javaビルドツール

JavaではPHPやRubyなどといったインタプリタ言語とは違い、ソースはクラスファイルといわれるファイルに変換する必要があります。この作業をコンパイルと呼びます。最低限この作業をやらないとプログラム …

no image

JSFとManagedBeanがバインドされない

JSFとmanagedBeanはEL式.プロパティでバインドできますが、専用のタグを使わないとバインドされません。 managedBeanでtestというフィールドがあった場合、 JSF側で [cra …

no image

JSFでのCSVダウンロード機能

JSF+CDIでCSVダウンロード機能を実装するときの処理です。 結構、汎用的でいろんなところででてきますね。 Contents1 コード2 参考リンク コード [crayon-628998dc125 …

no image

Streamについて

Java8で導入されたStreamですが、名前はしっていたものの、使い方がわからず放置していました。 これを機に調べたのですが、コレクションフレームワークの拡張のようですね。 特徴としては以下のような …

アーカイブ