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

时间:2014-09-25 22:42:27

标签: java maven javadoc

使用JDK 8运行javadoc时遇到的最佳解决方法是什么,并且收到此错误。

似乎对于JDK 8,已确定像<br /><p />这样的标记应该生成错误,因为它们无效(严格)HTML 4. see discussion JDK mailing list here

我想知道,因为我只想使用maven编译一些java项目并在这个问题上绊倒。当然,我可以使用该项目提交一张票(我想我会这样),但是如果有一种方法可以禁用这种行为(对于一台机器),那将会很棒。否则,我希望在没有问题的情况下在JDK 8上构建之前需要修复很多项目。

4 个答案:

答案 0 :(得分:24)

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

答案 1 :(得分:17)

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

  • <p/>只有<p>
  • <br/>只有<br>

在例外情况下修正后一切正常。

答案 2 :(得分:13)

取自&#34; What's New in JDK 8&#34;来自oracle.com:

  

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

现在我做了它告诉我要做的事情。在JDK 7上,&#34; javac -X&#34;的输出没有提到-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...>

在我的脚本中,使用此选项消失了您提到的错误。

答案 3 :(得分:1)

虽然可以使用-Xdoclint选项禁用错误检查,但它不能修复问题,它只是隐藏了问题。要制作有效的HTML4文档,以下替换是正确的。

  • 用常规br标签替换自闭合br标签(&lt; br /&gt; with&lt; br&gt;)
  • 用br标签替换空p标签(&lt; p /&gt; with&lt; br&gt;)
  • 确保所有p标签都有内容并已关闭(&lt; p&gt; ...&lt; p&gt; ...&lt; / p&gt;)