JNI で DLL, SO 等のネイティブライブラリを JAR に含めるには

作成したクラスを JAR にまとめる際にネイティブライブラリをルートディレクトリにいれて
manifest.cf を以下のようにすれば、任意のネイティブライブラリ(下の例では a.dll, b.dll, c.dll) を含めた状態で実行可能な JAR が作成可能です。

Manifest-Version: 1.0
Bundle-NativeCode: a.dll;b.dll;c.dll
Main-Class: Main

作成時のファイル構造:

<root directory>
– Main.class
– a.dll
– b.dll
– c.dll
– manifest.cf

作成コマンド:

jar cmf manifest.cf out.jar Main.class a.dll b.dll c.dll

 
参考:
How to set Bundle-NativeCode in manifest file in JES? (Sun Developer Forums)