Top/Java/XJavaDoc

XJavaDocはXDocletでも使用されている、JavaDocをパースするエンジンです。EclipseのJavaDocパーサがどうもタコな動きをする(失礼っ)ので、なんかいいのないかなあと探してたらこれに行き着きました。Eclipseのパーサは ASTVisitor#visit(Javadoc node) でJavaDocインスタンスを取得しそこからJavaDocを解析するのですが、

 @spring.bean id = "hogehoge.Hoge" singleton="false"

などの記述をうまくパースする方法がわかりませんでした*1。idの値であるhogehoge.Hogeだけを取得することができないようでした。

そこでこれを使ってみたのですが、とても簡単にJavaDocを解析することができました。

インストール

サイトを見てもダウンロードできるリンクはないようだったので、XDocletに同梱されている xjavadoc-1.1.jar を使用することにしました。また、commons-logging.jar も必要ですね。

やってみる

実行結果:

/**
    * Hogeクラス
    * 
    * @spring.bean
    *    id="hogehoge.Hoge"
    *    singleton="false"
    * @version $Revision: 1.1 $
    * @author Masatomi KINO
    */
xjavadoc.DefaultXTag@52198af1
hogehoge.Hoge
false

@author hogehgoeみたいな場合のパース方法

上の例は

@spring.bean id="hogehoge.Hoge" singleton="false"

などのように@タグ内に key=value がある形式でしたが

@author hogehgoe

のように@タグとvalueのみの場合は

Tag tag = doc.getTag("author");
System.out.println(tag.getValue());

などのようにするだけです。簡単ですね。


この記事は

選択肢 投票
おもしろかった 4  
そうでもない 0  
Top/Java/XJavaDoc

現在のアクセス:8396


*1 使い方が悪い??

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-07-15 (水) 00:03:24