torutkのブログ

ソフトウェア・エンジニアのブログ

Javadocにクラス図

一昨日、id:torutk:20110119で、Javadocにシーケンス図を埋め込む方法を書きましたが、次はクラス図を埋め込みたくなります。

ということで、まずは調査フェーズから。

Javadocにクラス図を埋め込むツールを探す

UMLGraph

http://www.umlgraph.org/

定番と言えるツールで、あちこちで言及されています。

日本語が化ける問題があって回避方法の言及が以下URLにあります。

別途Graphvizツールが必要です。

APIviz

http://code.google.com/p/apiviz/

UMLGraphと似た感じのツールです。

別途Graphvizツールが必要です。

実際に試してみる

Graphbizのインストール

http://www.graphviz.org/

Windowsで作業しているので、Windows版バイナリ(graphviz-2.26.3.msi)を入手・実行します。

環境変数PATHまで設定してくれました。

UMLGraph

ダウンロードしたファイル(UMLGraph-5.4.zip)を作業ディレクトリで解凍・展開し、任意の場所へ配置します(例、C:\java\UMLGraph-5.4)。

Javadocにドックレットを指定します。

NetBeansで試してみたので、プロジェクトプロパティの構築→ドキュメント化で[追加のJavadocオプション]欄に以下を追記

-docletpath C:\java\UMLGraph-5.4\lib\UmlGraph.jar -doclet org.umlgraph.doclet.UmlGraphDoc

Javadocを生成すると、以下の警告が出て、パッケージ説明にはクラス図が入りますが、各クラスにはクラス図が入りません。

Warning, could not find a line that matches the pattern '(Class|Interface|Enum) BufferedStreamPerformance.*'.
 Class diagram reference not inserted

うーむ・・・
ちなみに、Windows OS上でNetBeansを使って作成し、ソースファイルの文字コードUTF-8になっています。

パッケージに挿入されたクラス図は以下です。

APIviz

ダウンロードしたファイル(apiviz-1.3.1.GA-dist.zip)を作業ディレクトリで解凍・展開し、任意の場所へ配置します(例、C:\java\apiviz-1.3.1.GA)。

Javadocにドックレットを指定します。

NetBeansで試してみたので、プロジェクトプロパティの構築→ドキュメント化で[追加のJavadocオプション]欄に以下を追記

-docletpath C:\java\apiviz-1.3.1.GA\jar\apiviz-1.3.1.GA.jar
 -doclet org.jboss.apiviz.APIviz

Javadocを生成すると、パッケージ説明HTML、クラス説明HTMLにそれぞれクラス図が追加されます。

パッケージのHTMLドキュメントに貼られたクラス図は以下です。

クラスのHTMLドキュメントに貼られたクラス図は以下です。