eclipseで外部jarファイルにクラスパス(cp)を通しエクスポート(Export)する方法!

めっちゃ気合いの入ったタイトルが書けましたww。
実は僕の会社でJavaを制御できるのは僕だけなんです。
僕がいないときでも、便利な(?)Javaバッチシステムを使っていただきたいが、
実行できない!!
そんな時に大変便利なのが、これ!!
Jarファイルにしてバッチファイル(bat)から呼出してmain()を実行する。
するとJavaを知らなくても、Javaが実行できます。


背景はこの辺で置いといて本題に入ります。
僕は英語バージョンEclipse3.4 Ganymedeを使用しています。
バージョンやロケール違いの方は臨機応変に使って下さい。
やらなければならないのは2点です。
1.マニフェストファイルの作成
2.外部Jarファイルにクラスパスを通す


まずJarファイルにしたいプロジェクトを右クリック-Export-JAR fileを選択。


次にエクスポートの設定をします。
今回僕が必要なのはクラスファイルだけですので、
Export generated class files and resources」のチェックボックスにチェクを入れ、
Compress the contents of the JAR file」にもチェックを入れます。
あと、Jarファイルをどこに生成するのかブラウズします。僕はデスクトップにします。


nextをおし、以下画面で何もせずnextを押下します。


次の画面で一度workspaseにマニフェストファイルを生成します。
Generate the manifest file
Save the manifest in the workspaseチェックボックスにチェックを入れます。
マニフェストファイルの名前を入れたら、一旦finish


すると先ほど設定したマニフェストファイルがプロジェクトに出来ます。


作成したマニフェストファイルを開き、
main()のクラスを選択します。
このときsrcパッケージからのPathを指定します。

Manifest-Version: 1.0
Main-Class: project.java.main.test

これでOK!
では先ほどと同じ処理をします。上記と同様にここを設定


nextをおし、以下画面で何もせずnextを押下します。


ここで次は先ほど記述したマニフェストファイルを参照するようにします。
Use existing manifest from workspaceで先ほど追記したマニフェストファイルを選択してください。


これでExport処理は終了です。
続いて外部Jarにクラスパスを通します。
といっても簡単ですが…。


使用したいJarファイルをJVMに教えてあげるだけ!
Java\jre6\lib\ext以下に使いたいJarファイルを入れます。
するとNoClassDefFoundErrorも解消されます。


後はバッチでJarを実行したりしなかったりするプログラム書いて
呼出すだけ!
楽勝でしょ?


僕も実はかなりググりましたが、
なかなかこの手の問題解決のものがヒットしないんで困ってたんです。
部分部分をググりながら手探りで出来るようになりました。
自分もよく忘れるから、備忘録で残しておかないとヤバかったんで…。
何かの参考になれば使ってください。