Java文档注释支持基础HTML标签如<p>、<br>、<ul>、<ol>、<li>、<code>、<pre>、<strong>、<em>、<table>等,JDK 8+可正确渲染;<font>、<center>已废弃,<img>和<a>需谨慎使用;<script>、style属性、<iframe>等被过滤或不支持。

Java 文档注释(即以 /** ... */ 包裹的 Javadoc)在解析时会将其中的 HTML 标签当作原始 HTML 处理,但支持程度取决于生成工具(主要是 javadoc 工具)的版本和输出目标(如 HTML5、HTML4),并非所有标签都安全可用,部分标签会被过滤或忽略。
基础 HTML 标签基本可用
以下标签在大多数 JDK 版本(JDK 8 及以上)中可直接使用,且能正确渲染为 HTML:
-
<p>、<br>:段落与换行(<br>推荐自闭合写法<br />) -
<ul>、<ol>、<li>:列表结构 -
<code>、<pre>:内联代码与预格式化文本(<code>更常用,语义更准) -
<strong>、<em>:强调加粗与斜体(比<b>/<i>更推荐,语义清晰) -
<table>、<tr>、<td>、<th>:表格(简单表格可用,但响应式支持弱)
需谨慎使用的标签
以下标签虽不报错,但存在兼容性或可访问性问题:
-
<font>、<center>:已废弃,JDK 12+ 默认禁用,建议用 CSS 替代(但 Javadoc 不支持自定义 CSS,故应避免) -
<img>:支持,但路径必须是相对路径(相对于生成文档的根目录),且需确保资源随文档一并发布;推荐仅用于必要图示,避免绝对路径或网络 URL -
<a href="..."></a>:支持内部锚点(如#method-name)和外部链接,但跨模块跳转需配合模块系统配置
明确不支持或被剥离的内容
为安全与标准化考虑,Javadoc 工具会主动移除以下内容:
立即学习“Java免费学习笔记(深入)”;
- 所有 JavaScript(如
<script>、onclick等事件属性)—— 直接被过滤,不渲染 - 内联样式(
style="...")—— JDK 11+ 默认剥离,即使保留也易被浏览器默认样式覆盖 -
<iframe>、<object>、<embed>:出于安全限制,一律不支持 - 自定义标签或 XML 命名空间(如
<my:tag>):解析失败或静默忽略
最佳实践建议
保持 Javadoc 清晰、可维护、跨版本兼容:
- 优先使用语义化标签(
<code>、<em>、<pre>),少用表现型标签 - 多行说明用
<p>分段,避免依赖<br>控制布局 - 代码片段统一用
<code>(单行)或<pre><code>(多行),不要用<tt> - 生成文档时添加
-html5参数(JDK 9+ 默认),确保输出符合现代标准 - 避免嵌套过深的 HTML,Javadoc 解析器对复杂结构容错有限











