JDK 8中的Javadoc:无效的“自闭元素不允许”

使用JDK 8运行javadoc时遇到的最好的解决方法是什么?

看来对于JDK 8,已经决定像<br /><p />这样的标签应该会产生错误,因为它们是无效的(严格的)HTML 4. 请参阅讨论JDK邮件列表

我想知道,因为我只是想使用maven编译一些java项目,并绊倒了这个问题。 当然,我可以在项目中提交一张票(我想我会的),但是如果有一种方法可以禁用这种行为(对于一台机器),那将是非常好的。 否则,我预计很多项目需要修复,然后才能在JDK 8上构build而不会出现问题。

对于这两个特定的情况,我认为build议采取的行动是用<p>替代它们。 这是Oracle文档的链接。

从oracle.com的“ JDK 8新增function ”中获得:

现在,javac工具支持检查javadoc注释的内容,以解决在运行javadoc时生成的文件中可能导致各种问题(例如无效的HTML或可访问性问题)的问题。 该function由新的-Xdoclint选项启用。 有关更多详细信息,请参阅运行“javac -X”的输出。 这个特性在javadoc工具中也是可用的,默认情况下是启用的。

现在我做了它告诉我要做的事情。 在JDK 7上,“javac -X”的输出没有提及-Xdoclint选项。 但是,在JDK 8上,它提供了:

  -Xdoclint:(all|none|[-]<group>)[/<access>] Enable or disable specific checks for problems in javadoc comments, where <group> is one of accessibility, html, missing, reference, or syntax, and <access> is one of public, protected, package, or private. 

所以,运行Javadoc实用程序,如下所示:

 javadoc.exe -Xdoclint:none <other options...> 

在我的脚本中,你提到的错误通过使用这个选项消失了。

要删除javaDocs中的错误,只需replace:

  • <p/>只是<p>
  • <br/>只要用英文

一切顺利完成后,一切工作正常。