- - PR -
クラスの依存関係抽出ツール
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-06 20:25
お世話になります。
クラスファイル、Javaソース、Jar の集合から、クラスの依存関係を 抽出してくれるツールってありますでしょうか? JDepend ではパッケージ間の依存関係しかわからないようなので。 #本当はメソッドレベルのほうが嬉しいですが、そこまでは言いません。 // |
|
投稿日時: 2005-07-06 20:42
JudeとかRoseではダメですか?
|
|
投稿日時: 2005-07-06 21:47
ちょっと中途半端な回答になりますが・・・m(_ _)m
確かJBuilderで抽出出来たと記憶しております。 # でも高いですねぇ・・・ 仕様書工房なんて物でも出力出来ますよw # 紙だしするとうざいですが、無いよりかはまし?かも eclipseは・・・済みません、記憶はありません。 一番良いのは・・・Javadoc出しましょうw 最低でもソースからJavadocを出力することは出来ると考えています。 # Javadocって、意識してコーディングしてないと・・・ # コメントの無い、中途半端なJavadocが出来上がります # でも、無いよりかはましです。。。 |
|
投稿日時: 2005-07-06 22:36
クラス図で良ければ ここのEnterprise Architectでも生成できますが,,,
http://www.sparxsystems.jp/ ちなみに製品版ですが、個人でも購入できる範囲です。 |
|
投稿日時: 2005-07-06 23:26
るぱんです。
EclipseはOmondoというプラグインが有ります。 ソースとクラス図の整合をみたいなら、 コレが一番でしょう。 ただし、2.2Xしか無料になってないのかな? 3.0Xは機能が制限されていたと思います。 Eclipseの日本語版DLサイトで検索できます。 |
|
投稿日時: 2005-07-07 00:23
ツールの話ではないですが、もし自分で実装されるなら・・・
たしか、classファイルにした段階でimportの情報は存在しなくなります。 ですので、メソッドの中で宣言/使用されているクラスも依存性に含めるなら、 バイトコードからコンスタントプールとコードアトリビュートを参集する必要があります。 (コードアトリビュートは不要だったっけ・・・?) JavassistやBCEL等のバイトコード系のツールや、 tools.jarに含まれるJavap等で参照する事が可能です。 再帰的に調べれば、依存クラスがわかると思います。 しかしながら、Class.forName等の文字列を使用したクラス参照方法もありますので、 バイトコードから取得できた文字列はクラスパスに存在する すべてのクラスの名前と比較を行う必要がありそうですね。 |
|
投稿日時: 2005-07-11 16:03
たくさんの返信ありがとうございます。
Javadoc の use には気が付きませんでした。 あとは、いくつかツールをご紹介いただいたので、試してみます。 感謝。 |
1