确定javadoc是否遇到任何错误或警告

时间:2016-11-03 20:51:43

标签: java javadoc

我想确定我们从makefile发出的javadoc命令是否遇到任何错误或警告。目前,我可以看到我们遇到的错误是由于import语句不在我们指定给javadoc的类路径上(但应该是)。我最终想要修复我们的javadoc调用和内容,然后将其锁定,以便makefile捕获任何错误或警告并停止构建。但是,据我所知,文档没有提到javadoc命令的任何返回代码值。请注意,我们使用Java 7并从GNU makefile中的命令运行javadoc,而不是从Ant或Maven运行。你有什么建议我这样做?

更新:我的命令如下:

<path1>/javadoc -overview <path2>/overview.html -sourcepath <path3> <file1> <file2> <dir1> <dir2> -d <output_dir>

我在电话会议中看不到任何会导致错误被视为警告的内容。

这是输出中的一个片段,显示我看到的错误/警告消息:

....
Constructing Javadoc information...
../../../<path>/<filename>.java:5: error: package javax.servlet.http does not exist
import javax.servlet.http.HttpSessionBindingEvent;
....

“错误”这个词出现在它们中,但最后,输出只显示“50个警告”。如果我添加了其他问题(例如其中一个答案中建议的@invalid标记),我会收到51个警告。

2 个答案:

答案 0 :(得分:0)

我刚从命令行尝试过,当没有错误时,返回零值:

> javadoc my.package.name
> ....
> echo $?
> 0

使用以下命令编辑javadoc命令后

/**
 * @invalid
 */

并再次运行相同的javadoc命令,我收到一条错误消息,返回代码为1:

> javadoc my.package.name
> ....
> ./my/package/name/Coordinate.java:21: error: unknown tag: invalid
> * @invalid
>   ^
> ....
> echo $?
> 1

所以你应该检查javadoc的返回值是否为0。如果您不知道如何查看退货,请阅读this SO question and answer

答案 1 :(得分:0)

即使javadoc 1.7报告错误,它返回零返回值,因此构建不会捕获它。但是,javadoc 1.8返回非零返回值,构建确实会捕获它。