在使用 Maven 时,如何解决更严格的 Java 8 Javadoc 问题
您很快就会意识到,当涉及到Javadoc时,JDK8(默认情况下)要严格得多。(链接 - 请参阅最后一个项目符号点)
如果你从未生成任何Javadoc,那么你当然不会遇到任何问题,但是像Maven发布过程和可能的CI构建这样的事情会突然失败,因为它们在JDK7上工作得很好。检查 Javadoc 工具退出值的任何内容现在都将失败。与JDK7相比,JDK8 Javadoc可能也更冗长,但这不是这里的范围。我们正在谈论!warnings
errors
这个问题的存在是为了收集关于如何处理它的建议。最好的方法是什么?是否应该在源代码文件中一劳永逸地修复这些错误?如果你有一个巨大的代码库,这可能是很多工作。还有哪些其他选择?
也欢迎您评论一下以前会失败的故事。
恐怖故事,现在失败了
wsimport tools
wsimport
工具是用于创建 Web 服务使用者的代码生成器。它包含在JDK中。即使您使用JDK8中的工具,它仍然会产生无法使用JDK8的javadoc编译器编译的源代码。wsimport
@author标签
我正在打开3-4岁的源代码文件,并看到这个:
/**
* My very best class
* @author John <john.doe@mine.com>
*/
由于<字符,此操作现在失败。严格来说,这是有道理的,但不是很宽容。
表格
Javadoc 中的 HTML Tables?考虑这个有效的 HTML:
/**
*
* <table>
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
此操作现在失败,并显示错误消息 。一个快速解决方法是这样做:no summary or caption for table
/**
*
* <table summary="">
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
但是为什么这必须是来自Javadoc工具的停止世界错误??
现在由于更明显的原因而失败的事情
- 无效链接,例如
{@link notexist}
- 格式错误的 HTML,例如
always returns <code>true<code> if ...
更新
链接: