我正在编写一个工具来从预先存在的 Java 源文件中抓取 Javadoc,并通过自定义 doclet 对其进行预处理(处理的细节不相关)。我已经编写了 doclet,并且可以通过 Java文档中所示的编程 API 从我的代码中调用 doclet 。
这种机制似乎是“只写”的,因为运行 doclet 的结果(如果有的话)不能通过第一类 Java 对象传回 execute() 方法的调用者。相反,我不得不求助于诸如从 doclet 中将中间输出写入文件,然后从调用者那里读回该文件。
所以我的问题是:有什么方法可以直接在调用者处检索由我的自定义 doclet 生成的字符串?例如:
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();
}
提前致谢!