前の関連記事:UML(1)NetBeans7のUMLプラグインのリバースエンジニアができない
NetBeans7ではちゃんと動かないUMLプラグインの代替としてIT (dis)adventures: NetBeans 7.0 and 7.1 UML pluginで紹介されていたyWorks UML Docletを使ってみます。JavadocにUML図を追加するものなので代替といってもUMLプラグインとは全然機能が違います。
yWorks UML DocletをNetBeans7のプロジェクトウィンドウから起動できるように設定する
yWorks UML DocletからyWorks UML Doclet Community Edition(JDK 1.5.0 / 1.6.0 / 1.7.0) をダウンロードしました。
ダウンロードしたyworks-uml-doclet-3.0_02-jdk1.5.zipを解凍してできたフォルダを適当なフォルダに置きます。
私はC:\Program Files\NetBeans 7.4に置きました。
NetBeans7からフルパスで起動するのでパスを通さなくても大丈夫です。
NetBeans7のプロジェクトウィンドウからプロジェクトのプロパティを設定します。
カテゴリから、ビルド→ドキュメント化、を選択します。
「追加のJavadocオプション」に以下を入力して「OK」します。
-docletpath "C:\Program Files\NetBeans 7.4\yworks-uml-doclet-3.0_02-jdk1.5\lib\ydoc.jar" -resourcepath "C:\Program Files\NetBeans 7.4\yworks-uml-doclet-3.0_02-jdk1.5\resources" -doclet ydoc.doclets.YStandard -umlautogenフルパスはyWorks UML Docletを置いた場所によります。
これで設定は終了です。
プロジェクト毎に設定が必要です。
UML図付Javadocを作成する
設定が終わればあとは簡単です。
プロジェクトを右クリック→Javadocを生成。
ログにエラーがたくさん出力されましたが最後に「ビルド成功(合計時間: 23秒)」と表示された後デフォルトのブラウザに完成したJavadocが表示されました。
なかなかわかりやすい図が完成しました。
日本語化されているのはどれの働きのおかげでしょう?
これらのhtmlファイルはNetBeans7のファイルウィンドウでプロジェクトフォルダのしたのdocフォルダの中にあります。
このなかのindex.htmlを右クリック→表示、すると再度見ることができます。
Javaのソースコードのなかに長々とコメントが書いてあるのはこういう目的のためなのですね。
英語版のJavadocを出力する方法
ここで英語版とか日本語版といっているのはJavadocで生成されたhtmlファイルのメニューの言語のことです。
javaのソースに書かれたコメントが翻訳されるわけではありません。
そのメニューの言語を英語にする方法
上記にでてきた「追加のJavadocオプション」の先頭に"-locale en"と追加するだけです。
プロジェクトウィンドウからプロジェクトを右クリック、プロジェクトのプロパティ、ドキュメント化、追加のJavadocオプション。
まずは先ほど作成した日本語版が入ったdocフォルダをファイルウィンドウから削除します。
そして先ほどと同様にしてJavadocを生成で出力したのが以下。
なぜか日本語版よりもデザインがカッコよくなっています。
再度docフォルダを削除した後「追加のJavadocオプション」の先頭の"-locale en"も削除してもう一度日本語版のJavadocを出力してみました。
今度は日本語版もカッコよくなっています。
どうもdocの下にapiともう一つフォルダがあったと思うのですけどそれも最初に消してしまったからこうなってしまったようです。
(H26.3.5追記。最初にできたJavadocのデザインはダウンロードしたもとのプロジェクトフォルダに入っていたもののようです。)
参考にしたサイト
IT (dis)adventures: NetBeans 7.0 and 7.1 UML plugin
NetBeans7のUMLプラグインの代替としてyWorks UML Docletが紹介されています。
yWorks UML Doclet
JavadocにUML図をつけるツール
Javadoc - Wikipedia
Javadocのタグの解説
FaqChangingLangOfGeneratedJavaDocJa - NetBeans Wiki
Javadocを英語で出力する方法
非常に有益な情報ありがとうございます。
返信削除-local en の部分ですが、正しくはlocaleのようです。
ご指摘ありがとうございます。
削除全く私の間違いでした。ご迷惑をおかけしました。
localでやってみたらエラーで止まってしまってできませんでした。
「ロケール」を「ローカル」と途中で勘違いしてしまったようです。
早速修正しておきました。