繁体   English   中英

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

[英]Javadoc in JDK 8 : Invalid “self-closing element not allowed”

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

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

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

对于这两个特殊情况,我认为建议的操作是用<p>替换它们。 是Oracle文档的链接。

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

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

经过例外修正后,一切正常。

摘自oracle.com的“ JDK 8中的新功能 ”:

javac工具现在支持检查javadoc注释的内容,以查找可能导致运行javadoc时生成的文件中的各种问题(例如无效的HTML或可访问性问题)的问题。 该功能由新的-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...>

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

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

  • 用常规br标签替换自闭合br标签(<br /> with <br>)
  • 用br标签替换空p标签(<p /> with <br>)
  • 确保所有p标签都有内容并关闭(<p> ...与<p> ... </ p>)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM