skillup

技術ブログ

Java

mavenでのjarファイル作成

投稿日:

ここ半年Javaを触っていますが、9割以上がWEBアプリでバッチ系のものを作る機会から外れていました。

今回バッチを作っており、IDEでは動くのにいざコンソールで動かそうと思ったら動かないということがあったのでメモしておきます。

IDEの弊害

Javaで開発をするプログラマの99%以上はEclipseかNetbeansのIDEを使っていると思います。

IDEの弊害としてコーディングをする際の様々なサポートがあるため、プログラマがその機能に頼ってしまい、基本的な操作を覚えなくなってしまうということが挙げられます。

まあ、プログラマが悪いのであってIDEが悪いわけではないのですが(汗)

jarファイルを作るには

今回ビルドしたjarファイルを動かそうと思ったらXXXXXX.jarにメイン・マニフェスト属性がありません

と怒られてしまいました。

どうやらjarファイルを作成するにはバージョンや実行ファイル、依存ライブラリなどを定義するマニフェストファイルというものが必要なようです。

マニフェストファイルについて

https://docs.oracle.com/javase/jp/1.5.0/guide/jar/jar.html

マニフェストファイルの定義の仕方

このようなマニフェストファイルの作り方ですが、pomに以下のように記述すればOKです。

上記の記述の細かい説明などは下記へ

http://kokuzawa.blogspot.jp/2011/05/netbeansmaven.html

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

依存ライブラリエラー

上記を記述したにも関わらず使っているライブラリがインポートされていない、NoClassDefFoundErrorがでてしまいました。

どうやらjarのなかに依存ライブラリをインポートするような記述が必要なようです。

下記のように記述すれば解決します。

https://www.ibm.com/developerworks/jp/java/library/j-5things13/

http://qiita.com/pcpDev/items/ca3a7a7e518d68344f00

これでようやく動きました。

↑上記のように記述しても同階層にlibディレクトリがなければ動きません。

単独で動かすには下記のエントリーを参考にしてください。

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

おまけ jarファイルコマンドなど

http://msugai.fc2web.com/java/jar.html

-Java
-,

執筆者:


comment

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

関連記事

no image

Javaでのスクレイピング

スクレイピングというと一般的にはRubyが一番有名なようですが、もちろんスクレイピング自体はどの言語でも行うことができます。 Contents1 スクレイピングの手法1.1 正規表現1.2 HTMLパ …

no image

文字列操作(String系)

Javaの文字列について書きます。 Contents1 StringとStringBuilder1.1 文字列の追加はStringBuilder1.2 文字列の参照はString StringとStr …

no image

Javaのstreamまとめ

以前にもちょっと扱ったJavaのStreamに関してまとめ Contents1 過去のリンク2 ソース3 注意事項4 参考リンク 過去のリンク MapのStream http://skill-up-e …

no image

Annnotationについて その2

Java(JavaEE)をやりだして半年ぐらいたつんですが、個人的に鬼門だとおもっていたのが下記内容です。 MVCではないコンポーネントの考え方 クラスを使ったジェネリクスの使い方(型パラメータなど) …

no image

netbeansのJPQL補助機能

JPAでは基本的に生のSQLではなく、JPQLを使って書きます。 SQLでもタイプミスにイライラさせられることは多いのですが、JPQLはもっとですね・・・爆 そこで使えるのがNetbeansの入力補助 …