実行可能jarに外部jarを含めるためのライブラリ調査
実行可能jarを作ろうとして、jarに外部jarを含めようとしたら、NoClassDefFoundError を投げてコケる。調べてみると、以下のような問題があるらしい。
外部ライブラリを含む場合の問題 - JARファイルをダブルクリックで実行
で、さらに調べてみると、これを解決するライブラリがいくつか見付かった。(参考: JarClassLoader)
この種のライブラリは、ソースコードを自分のプログラムに含める必要があるため、ライセンスには特に注意を要すると思われる。そこで、JarClassLoaderのページで挙げられていた類似プロジェクトのライセンスを確認してみた。
プロジェクト | ライセンス | 最終リリース (バージョン) |
---|---|---|
Classworlds | 独自ライセンス? BSD似だが項目数が多い | 2003-12-04 (1.0) |
Meta Jar Utilities | GPL v2 & Apache ライセンス 2.0 | 2002-08-16 (1.7.1) |
One-JAR | 修正BSDライセンス | 2010-07-15 (0.97) |
Embedded jar classloader in under 100 lines |
不明 | 2008-10-30 |
jar in jar loader (Eclipse内蔵用) |
EPL v1.0 | 2009-11-05 (1.3) |
JCL - Jar Class Loader | LGPL v3 or later | 2010-05-03 (2.2) |
JarClassLoader | GPL v2 & 商用ライセンス | 2010/02/18 (1.24) |
とりあえず、ライセンス的に無難&リリースが新しいのはOne-JARだろうか。