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

Javaのオブジェクト指向に関して

Contents1 staticメソッド2 アクセス修飾子3 抽象クラス3.1 オーバーライド(親クラスのメソッドを上書きすること)3.2 オーバーロード(同名メソッドを複数もつこと)4 interf …

no image

小ネタ集

最近覚えた小ネタをのせていきます。 熟練のプログラマからすると当たり前のことが多いと思いますが・・・ Contents1 {}でスコープ限定2 リダイレクト:face-redirect=true3 H …

no image

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

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

no image

JAXRSによるRESTAPI作成方法

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。 Contents1 RestAPIとは2 プログラムの作成方法について RestAPI …

no image

Map,KeySetでのSteam

日常で一番よく使うMapループ系処理について Map KeySetのStreamでの書き方 Map<String,String>でEntrySetではなく、KeySetで展開したいときなど …