- PR -

依存クラスの抽出について

投稿者投稿内容
コウ
会議室デビュー日: 2007/03/05
投稿数: 8
投稿日時: 2007-04-20 10:27
いつも、拝見して勉強させて頂いてます。

表題の件で質問なのですが、
やりたいことは依存するクラスを抽出して、アプレットZIPを作りたいのですが、
調べてもなかなかいいネタが見つかりません。
コンパイルやクラスファイルのコピーはAntを使用しようと思っています。

そもそも、依存クラスの抽出というのは簡単なことではないのでしょうか?

どうぞ、よろしくお願いします。

環境:
WindowsXP
JDK1.4.2_02
Ant
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-04-20 10:50
WebLogic Server に、アクセスログから必要なクラスを選別してアーカイブしてくれるユーティリティが付属しています。
http://edocs.beasys.co.jp/e-docs/wls/docs81/admin_ref/utils23.html
コウ
会議室デビュー日: 2007/03/05
投稿数: 8
投稿日時: 2007-04-20 11:22
インギさん、ありがとうございます。

すいません、環境に書き忘れていました。

Tomcat4.1とapache1.3を使用しております。
教えて頂いたユーティリティというのはWebLogicがないとやはりだめなのですよね。

よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-04-20 11:47
アクセスログは apache も WebLogic も似たようなもんですから使えるのではないかと思います。

余りにもサイズが大きくて起動時間に困っているようでしたら JavaWebStart もお勧めです。
一度ダウンロードしたら変更がない限りダウンロードしませんし、デスクトップアプリケーションライクにも使えますから。

[ メッセージ編集済み 編集者: インギ 編集日時 2007-04-20 11:50 ]
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-04-20 12:02
引用:

コウさんの書き込み (2007-04-20 10:27) より:
そもそも、依存クラスの抽出というのは簡単なことではないのでしょうか?


アーカイブして動かしてみて NoClassDefFoundError が出たら、そのクラスを追加して、ということを繰り返してエラーが出なくなるまでひたすら繰り返すことが多いと思います。しかし、これだと確実性がありません。ごくまれにしか使われないクラスは、取りこぼしてしまう可能性があります。

クラスの依存性のグラフを調べるツールもどこかに存在するとは思うのですが、ちょっと分かりません。原理的には難しくないことなので、あってあたりまえのように思いますが。。。

ただ、まっこうなやりかたではありませんが、Java のクラスファイルを Windows の EXE に変換するツールを使うと、EXE にするためにはこういう依存性をチェックしないといけないので、副産物としてそういう情報が得られることがあります。
一例ですが、以前、Excelsior JET の古いバージョンを使ったときに、こういうことができたような気がします。(現在のバージョンは知りません。試用版もあるかもしれませんが、どの範囲まで試用してもよいかなどは、ご試用されるかたがご確認ください。)

#後で、誤字を修正。および、つぎを追加。

なお、「できる」というのは、依存クラス名を画面に表示してくれるということです。自動的にアーカイブしてくれるなどという意味ではないです。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}

[ メッセージ編集済み 編集者: unibon 編集日時 2007-04-20 12:04 ]
コウ
会議室デビュー日: 2007/03/05
投稿数: 8
投稿日時: 2007-04-20 12:45
>> インギさん
ありがとうございます。
これからツールを使って試してみます。


>> unibonさん
ありがとうございます。

なるほど、EXEに変換するツールの副産物を使うという方法があるのですね。
こちらもちょっと試したいと思います。

後、原理的に難しくないのであればjavaで作れないかな〜なんて思ってたりしてます。
できればこの方法でやりたいのですが知識が足りないもので・・・。

もうちょっと調べてみます。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2007-04-20 13:22
自作ですか。
さっきちょこっと考えた時は
ソースのimport文を解析してZipするクラスのパスを作成すれば良いのかなと思ったけど、
import文をきちんとする為にeclipseのソースを見ないといけないだろうなと思いました。
(もしくは必ずeclipseのimportの編集を使う運用にするとかw)

後は面倒そうなのはインナークラスかも。
コウ
会議室デビュー日: 2007/03/05
投稿数: 8
投稿日時: 2007-04-20 13:30
>> さるさん
自分もふと思ったのがimport文を解析する方法なのですが、一度ソースを確認
する必要があるというのが何かちょっとという感じでした。

何か他に方法はないものでしょうか?


今、WebLogicのツールを使って奮闘中です 汗

スキルアップ/キャリアアップ(JOB@IT)