gpt4 book ai didi

java - 以编程方式运行标准 Doclet

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:40 24 4
gpt4 key购买 nike

理论上,应该可以从 Java 程序本身运行 javadoc 生成过程(如此处所述 http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/standard-doclet.html#runningprogrammatically )。我从 here 获取了该程序并稍微改变它,如下所示。但是,当我从类的 main 方法调用 doTest 方法时,我总是从执行函数中得到返回码“1”,这会导致错误。

static void doTest() {
ByteArrayOutputStream redirectedOutput = new ByteArrayOutputStream();
PrintStream originalOutput = System.out;

// redirect System.out to a buffer
System.setOut(new PrintStream(redirectedOutput));

PrintWriter sink = new PrintWriter(new ByteArrayOutputStream());

// execute javadoc
int result = com.sun.tools.javadoc.Main
.execute(
"javadoc", sink, sink, sink,
"com.sun.tools.doclets.standard.Standard",
new String[] {
"-sourcepath",
"\"C:\\Program Files (x86)\\Java\\jdk1.7.0_51\\src\\\"",
"java.util" });

// test whether javadoc did any output to System.out
if (redirectedOutput.toByteArray().length > 0) {
originalOutput
.println("Test failed; here's what javadoc wrote on its standard output:");
originalOutput.println(redirectedOutput.toString());
throw new Error("javadoc output wasn\'t properly redirected");
} else if (result != 0) {
throw new Error("javadoc run failed " + result);
} else {
originalOutput.println("OK, good");
}
}

我可以使用以下行生成 javadoc:

C:\Program Files (x86)\Java\jdk1.7.0_51\bin>javadoc -sourcepath ..\src\ -d "C:\Users\leo\Eigene Dateien\javadoc" java.util

我的环境是带有 JDK 1.7.0_51 的 Windows。

最佳答案

我以不同的方式执行它,请参阅我的问题 - Doclet: firstSentence is null

我想说(未经测试),你的参数应该是这样的:

    String[] params = new String[] {
"-doclet", "com.sun.tools.doclets.standard.Standard",
"-sourcepath", "C:\\Program Files (x86)\\Java\\jdk1.7.0_51\\src\\",
"java.util"
};
com.sun.tools.javadoc.Main.execute(params);

关于java - 以编程方式运行标准 Doclet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24464999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com