既存の Java ソース ファイルから Javadoc をスクレイピングし、カスタム ドックレットを介して前処理するツールを作成しています (処理の詳細は関係ありません)。ドックレットを作成しました。Javaドキュメントに示されているように、プログラム API を介して自分のコードからドックレットを呼び出すことができます。
このメカニズムは、ドックレットの実行結果があったとしても、最初のクラスの Java オブジェクトを介して execute() メソッドの呼び出し元に送信できないという意味で、「書き込み専用」であるように見えます。代わりに、ドックレット内から中間出力をファイルに書き込み、それを呼び出し元から読み戻すなどの面倒な作業に頼る必要があります。
私の質問: たとえば、呼び出し側でカスタム ドックレットによって生成された文字列を直接取得する方法はありますか? 例:
public void foo() {
// Invoke my custom doclet via Javadoc programmatically
com.sun.tools.javadoc.Main.execute(new String[] {"-d", "docs", "- sourcepath", "/home/usr/src", "p1", "p2"});
// Access the String output of my doclet here
String processedJavadoc = getTheOutputOfMyDoclet();
}
前もって感謝します!