Java Docletのデバッグのカスタマイズ

2001 ワード

仕事の中でインタフェースを対外的に提供する必要があることがよくあります.この時、インタフェースのドキュメントは非常に面倒で、wikiや他の場所で維持されていますが、コードを修正した後、wikiをタイムリーに更新していない可能性が高く、多くのコミュニケーションのコストをもたらします.だからjavadocでインタフェースドキュメントを直接生成する方法を考えています.mavenが提供するjavadocプラグインを発見しましたが、オリジナルのDocletは私の要求を満たすことができません.だから自分でdocletを定義する必要があります.Docletの定義を見てみましょう.
DocletはJavaTMプログラミング言語で作成されたプログラムで、doclet APIでJavadocツールの出力内容とフォーマットを指定します.デフォルトでは、JavadocツールはSunTMが提供する標準docletを使用してHTML形式のAPIドキュメントを生成します.しかしながら、ユーザは、Javadoc出力を好みに応じて独自のdocletでカスタマイズすることもできる.ユーザーはdoclet APIを利用してdocletを最初から作成したり、標準docletを変更して自分のニーズに合わせたりすることができます.次は、独自のdocletを作成して使用する基本的な手順です.1.docletを構成するJavaプログラムを作成します.doclet APIを使用するには、com.sun.javadoc.*をインポートします.プログラムのエントリポイントは、RootDocをパラメータとするpublic static boolean startメソッドを持つクラスです.2.docletをコンパイルします.Java Development Kitのコンパイラjavacを使用してコンパイルできます.3.javadocツールを-docletオプションで実行し、docletで指定した出力を生成します.doclet APIクラスファイルはJDKソフトウェアのlib/tools.jarファイルにあります.docletをコンパイルし、カスタムdocletを使用する場合は、tools.jarはクラスパスにある必要があります.このため、javacおよびjavadocに対して-classpathオプションを使用できます. 
      ここでdocletはtools.jarを使用する必要がありますが、ide、例えばideaを使用する場合はproject settingでjdkのclasspathにtools.jarのパスを加えればいいです.しかし、この品物のデバッグは面倒で、ネット上の資料によると、外でDocletをコンパイルしてからjavadoc-docletでコンパイルしたdocletを指定するしかありません.しかし、これはdebug docletプログラムではなく、ネット上の資料を探して自分の時間を加えて、このようにすることができることに気づいた.
public class APIDoclet {


    public static boolean start(RootDoc root) {
        ClassDoc[] classes = root.classes();
        for (int i = 0; i < classes.length; ++i) {
            System.out.println(classes[i]);
        }
        return true;
    }


    public static void main(String[] args) {
        String[] docArgs = new String[]{"-doclet", APIDoclet.class.getName(), System.getProperty("user.dir") + "/src/main/java/" + "com/hz/yk/concurrent/aqs/BooleanMutex.java"};
        com.sun.tools.javadoc.Main.execute(docArgs);
    }

}

ハハハ、これでちょっと中断できます.
docletの資料を添付します.
http://dadi520.iteye.com/blog/545897