Java SWTアプリケーションを作成し、「ユーザ配布用のJARファイル」を作ったところ、SWTライブラリが見つからないというエラーに遭遇。
解決手法1
swt.jar ライブラリの全ファイルを、作成するjarファイルに格納する。
(swt.jarをバラバラに分解して、再格納して配布するのが、ライセンス上問題にならないか心配…)

オリジナルのjarファイル

swt.jarライブラリを無理やり追加したjarファイル
(赤でかこった部分が、swt.jarからコピーしてきた部分)
ファイルの展開・圧縮は、Gnomeの書庫マネージャを使って行っている。
(Windowsの場合は、素直にコマンドラインのjarを使うしかないかな…)
解決手法2
jarファイルのMETA-INF/MANIFEST.MFファイルを書き換えて、クラスライブラリのパスを追加する。
Manifest-Version: 1.0
Main-Class: HelloJavaSwt
Class-Path: ./ ./swt.jar
こうしておいて、同じフォルダに配布するjarファイルと、swt.jarを格納すればOK。
なお、jarファイルはEclipseのファイルメニューのエクスポートで作成したものを使っているが、コマンドラインで作成することも出来る。
[root@localhost test]# jar cvfm test1.jar MANIFEST.MF *.class
マニフェストが追加されました。
HelloJavaSwt.class を追加中です。(入 = 1188) (出 = 700)(41% 収縮されました)
jarファイルとマニフェストファイルの順序は、jarに与えるスイッチの fm というファイル順序に依存している。
参考にしたページ
Sun : jar - Java ARchive ツール
jarでファイルをまとめる
jarファイルに外部ライブラリを含めたい
最近、どうも脱線ぎみです…
本来なら、携帯電話用MIDPでプログラムを作る納期が迫っているにもかかわらず…