Javaで開発されたシステムは息が長いものが多く、すでに10年選手というのも少なくありません。その中で作られたコードがすべて公開、共有されていれば良いのですが、中にはjarファイルしか残っていないということもあるでしょう。 そんな時に使いたいのがGraffitiです。jarファイルを解析し、クラスの関連をビジュアル化してくれます。

Graffitiの使い方

Graffitiを使う際のコマンドです。対象になるjarファイル、出力先、そしてビジュアル化のためにdotコマンドのパスを渡します。

$ java -jar graffiti-core-0.0.1.jar commons-lang3-3.5/commons-lang3-3.5.jar ./output /usr/local/bin/dot

出力されたHTMLファイルです。

クラスにある要素の確認です。

メソッドの一覧です。

dotでビジュアル化されたクラスです。

Graffitiを使えばコードの内容までは分からないものの、クラスのインタフェースをIDEでいちいち調べることなくHTMLで検索もしやすく整形してくれます。ドキュメントがないシステムを学ぶための取っかかりにいかがでしょう。

GraffitiはJava製のオープンソース・ソフトウェア(MIT License)です。

Graffiti | Jar File Analyser gaurs/graffiti: Graffiti is a java library for generating relationships betwwen the classes in a jar file. Graffiti helps you bring the relationships to life using visual representations. It generates bootsrap based html files containing the visual representation of the relationships among the classes.