<< NEW | main | OLD>>
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 - -
まぁ前回までの内容が問題なくできていれば、
今回のはすぐ終わります。

ここでファイル名は便宜的に以下のとおりとします。
本体jarファイル: main.jar
外部ライブラリファイル: swt.jar

俺が使った外部ライブラリがswtなんで、swtってことで。
他の外部ライブラリはまだ使ったことないから、
このやり方でできるかは知りません。
あと配布に際してはライセンスの問題もあるのでその辺も要確認。

ちなみに俺がダウンロードしてきたのはこれ。
swt-3.3.1.1-win32-win32-x86.zip
ついでに古い解説ページだとリンク切れとか結構あったので。
http://www.eclipse.org/swt/

さてさてswt.jarをmain.jarに詰める方法ですが、
これはjarファイルのまま詰めても動いてくれません。
ので、とりあえずswt.jarを解凍します。
中身はこんな感じでした。

swt
├ META-INF
│ └ MANIFEST.MF
├ org
│ └ eclipse
│   └ swt
│     └ 各種ライブラリ
├ swt-awt-win32-3347.dll
├ swt-gdip-win32-3347.dll
├ swt-wgl-win32-3347.dll
├ swt-win32-3347.dll
├ swt-xpcominit-win32-3347.dll
├ swt-xulrunner-win32-3347.dll
└ version.txt

この辺も古い解説サイトと違うよね。
よくswt.jarとxxxxx.dllをダウンロードしてきて~
って書いてあるけど、
どこにdllファイルなんかあるんだよ・・・(´・ω;`)
って思ってました、しばらく。
どうやら最近のバージョンはdllもswt.jarに含まれてるらしいです。

んで、とりあえずこの中でいらなそうなのは、
META-INFとversion.txtあたりかな?
あと時間があればorg以下のライブラリ群から
未使用のものを削除すれば軽くなるね。
めんどそうだったから俺はやってないけどw

まぁその他はよくわからないんで全部詰めます(爆
前回の例で言うと、最終的な配置はこんな感じ。

作業フォルダ
├ パッケージ名
│ └ クラスファイル名.class
├ data.csv
├ manifest.mf
│<----------------------ここまでが自分のファイル
├ org
│ └ eclipse
│   └ swt
│     └ 各種ライブラリ
├ swt-awt-win32-3347.dll
├ swt-gdip-win32-3347.dll
├ swt-wgl-win32-3347.dll
├ swt-win32-3347.dll
├ swt-xpcominit-win32-3347.dll
└ swt-xulrunner-win32-3347.dll

これでDOSコマンドでjar化すれば完成。
ちなみにdllファイルなしでもやってみたんだけど・・・
動きましたww普通にwwww
まぁ俺の環境に因るところかもしれないから、
念のためdllはいれといたほうがいいと思うけどね。


追記 2008/04/05
dllファイルは、正しくはカレントディレクトリに配置するらしいです。
以下、Project Amateras より引用。

DLLはアプリケーションを実行する際のカレントディレクトリに配置してください(dllの検索パスに含まれていれば違う場所でもOKだと思います)。

これに従った上で、main.jarにswtライブラリを含めるには、
まず以下の構成で固めてmain.jarを作り、

作業フォルダ
├ パッケージ名
│ └ クラスファイル名.class
├ data.csv
├ manifest.mf
│<----------------------ここまでが自分のファイル
└ org
  └ eclipse
    └ swt
      └ 各種ライブラリ

それを次のような感じで配置して実行するって形になります。

main.jarが置いてあるディレクトリ
├ main.jar
├ swt-awt-win32-3347.dll
├ swt-gdip-win32-3347.dll
├ swt-wgl-win32-3347.dll
├ swt-win32-3347.dll
├ swt-xpcominit-win32-3347.dll
└ swt-xulrunner-win32-3347.dll

だから厳密にはdllファイルはmain.jarに含められないことになるね。
main.jarにdllファイルを含めてしまっても動作したのは、おそらく
dllの検索パスに含まれていれば違う場所でもOKだと思います
ってことなんでしょう。
「dllの検索パス」ってのがなんなのかはわかりませんが。

随分前からこの間違いには気づいていたんだけど、
まぁこんな記事誰も見ないだろwwと思って放置してたんだよねー
ところがさ、思いのほか「swt jar」とかで検索してくる人が多いんで、
こりゃいい加減修正しないとってことで今回加筆してみました(;・∀・)


さっ、おかげさまでjarファイル一枚で
プログラムが動くようになりましたよー!!
ちなみに今作ってるのはさぽているの図鑑みたいなやつなんだけど、
基本的に俺用だからね、現時点では配布する予定はないです。
まぁとりあえず人に見せられるくらいの完成度になってから考えようかw

それじゃ最後に今までのまとめ。
jarファイルダブルクリックで開けねぇ?
jarファイルをダブルクリックで実行1
jarファイルをダブルクリックで実行2
jarファイルにテキストファイルを含めたい
jarファイルに外部ライブラリを含めたい
Java comments(0) -


コメント


フォーム

ブログ内検索

自作ツールなど
■棒読みちゃんプラグイン
2ch専用ブラウザ読み上げ(改良版)

■IntelliPark設定ツール
WDIDLE3 for Windows

■マウスユーティリティ
Wheelpool

■ユーザー入力監視ソフト
iDLEM@STER

■さぽている攻略 [公開終了]
さぽつ~る(さぽつーる)
アイテムリスト成型
調合成功率計算
カテゴリー別

openclose

プロフィール

百合亞

Author:百合亞
敬虔な百合信仰者かつ崇拝者
将来の夢は女の子

管理人にメール

お名前:
メール:
件 名:

りんく
ことのはアムリラート

美少女万華鏡 -罪と罰の少女-

FLOWERS

2017年5月26日発売のNavel新作『月に寄りそう乙女の作法2.1エスパル』を応援しています!

「天結いキャッスルマイスター」応援中!

『想いを捧げる乙女のメロディー』2017年3月24日発売予定

オトメ*ドメイン

eye★phon(アイ・フォン)『つい・ゆり ~おかあさんにはナイショだよ~』

AXL新作第12弾「恋する乙女と守護の楯~薔薇の聖母~」 2016年1月29日発売予定!

お嬢様と秘密の乙女

カミツレ

【ハピメア】応援バナー

【白雪の騎士】応援バナー

ノブレスオブルージュ

シロガネオトメ

『ヒメゴト・マスカレイド』応援中!

屋上の百合霊さん

天使の羽根を踏まないでっ

「キミとボクとエデンの林檎」公式サイトへ

『るいは智を呼ぶファンディスク』を応援しています!

『処女はお姉さまに恋してる ~2人のエルダー~』絶賛発売中!!

りんく2
藤真拓哉オフィシャルブログ
CrystalDiskInfo - 水晶雫

マリかう

Powered by FC2 Blog    Templete by hacca*days.

PR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。