skillup

技術ブログ

Java

依存ライブラリを含むプログラムの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です。

-Java
-,

執筆者:


comment

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

関連記事

no image

サーブレットのスコープ

JavaEEではスコープアノテーションによって変数のスコープを使い分けられたのですが、サーブレットの場合はプログラムの中で使い分けます。 通常はページ、リクエストとセッション、アプリケーションぐらいで …

no image

JavaでのSQLの書き方

ちょっと小ネタです。 通常SQLを記述する場合、縦に分けて書くのが見た目にも見やすく、保守性も高いです。 例として

と書くよりは、 [ …

no image

String,Integer,Booleanの相互変換

データベースにはbooleanでデータが入っているのに画面では0か1の数字でないと表示ができないときなどがあると思います。 そんな時に文字列と論理値、あるいは文字列と数値、数値と論理値の変換などをする …

no image

JPAまとめ

JPAわけわかんねーと思い、触りはじめてから3か月ぐらいたちます。 いまだに細かい部分はよくわかっていないことは多いのですが、全体像というか何となくどういうものかはわかり始めてきたいのでまとめたいと思 …

no image

GlassFishでDB接続

一般的にWEB系の言語で、DBを使う場合、WEBサーバーとDBサーバーは単独に動くことが一般的です。 JavaEEではアプリケーションサーバーとしてGlassFishを使いますが、先日、GlassFi …