如何在 Javadoc 中使用 @ 和 符号格式化代码片段?
Posted
技术标签:
【中文标题】如何在 Javadoc 中使用 @ 和 符号格式化代码片段?【英文标题】:How to format code snippet in Javadoc with @ and symbols inside?如何在 Javadoc 中使用 @ 和 符号格式化代码片段? 【发布时间】:2011-12-23 01:02:18 【问题描述】:这就是我想要做的:
/**
* <pre>
* @code
* @XmlRootElement
* public final class Page {
* }
*
* </pre>
*/
我希望它的格式如下:
@XmlRootElement
public final class Page
但我得到了:
@XmlRootElement
public final class Page {
}
用真实符号(@
、、
)替换这些 html 实体会导致 javadoc 警告和绝对错误的格式。什么是解决方法?
【问题讨论】:
【参考方案1】:这就是它最终对我有用的方式:
/**
* <pre>
* @XmlRootElement
* public final class Page
*
* </pre>
*/
【讨论】:
你的答案对我有用。谢谢。如果使用“@literal @Override”,我必须在“@literal @Override”之前删除一个空格才能排队。【参考方案2】:<pre>
<code>
@literal@Override
public String toString()
return "blah";
</code>
</pre>
这对我有用。
【讨论】:
我必须在@literal
和@
之间添加一个空格,如下所示:@literal @Override
【参考方案3】:
用<pre><code></code></pre>
包装你的代码sn-p。这些是特殊的 HTML 标记,可让您忘记特殊字符的转义。
【讨论】:
嗯。pre
或 code
的定义中没有任何内容可以转义特殊字符。他们只改变字体和空白解释。 (另外,@
和
可能在 HTML 浏览器获取它们之前就被 Javadoc 解释了。)【参考方案4】:
这是个老问题,但我知道为什么它不适合我。
这不起作用:
<pre>@code
@Autowired
但是当全部写在一行中时,它可以工作。
<pre>
@code @Autowired
【讨论】:
【参考方案5】:从 Java 18 (JEP 413) 开始,您可以使用 @snippet
标签:
/**
* -- ex: looping through List of Map objects --
* @snippet :
* @XmlRootElement
* public final class Page
*
*
*/
【讨论】:
以上是关于如何在 Javadoc 中使用 @ 和 符号格式化代码片段?的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse Javadoc 格式化:如何允许/禁止单行 Javadoc 注释?