我如何在javadoc转义@符号?我试图在{@code}标记中使用它,这是在<pre>标记中。
@
{@code}
<pre>
我已经尝试了html转义@序列,但这没有工作。
@
你有了大概的想法,尝试使用八进制表示:@
@
把它写成HTML实体:
从文档"javadoc——Java API文档生成器"
如果你想以@字符开始一行,并且不希望它被解释,请使用HTML实体@。
这意味着你可以为你需要转义的任何字符使用HTML实体,而且确实可以:
文本必须用HTML实体和HTML标记编写。您可以使用浏览器支持的HTML版本。标准doclet在其他地方生成符合HTML 3.2的代码(在文档注释之外),并包含级联样式表和框架。HTML 4.0是首选的生成文件,因为帧集。 例如,小于符号(<)和大于符号(>)的实体应该被写成<和>。类似地,&号(&)应该写成&。
文本必须用HTML实体和HTML标记编写。您可以使用浏览器支持的HTML版本。标准doclet在其他地方生成符合HTML 3.2的代码(在文档注释之外),并包含级联样式表和框架。HTML 4.0是首选的生成文件,因为帧集。
例如,小于符号(<)和大于符号(>)的实体应该被写成<和>。类似地,&号(&)应该写成&。
<
>
&
使用{@literal} javadoc标记:
{@literal}
/** * This is an "at" symbol: {@literal @} */
它的javadoc代码如下:
This is an "at" symbol: @
当然,这将适用于任何字符,并且是显示任何“特殊”字符的“官方支持”方式。
它也是最直接的-你不需要知道字符的十六进制代码,而且你可以读取你输入的东西!
我的解决方案是
/** * Mapper Test Helper. * * add the following annotations above the class * <pre>{@code * // junit5 * @literal @ExtendWith(SpringExtension.class) * // junit4 * @literal @RunWith(SpringRunner.class) * }</pre> */
从15.0.2开始使用javadoc工具时,此问题现在似乎已修复。
也就是说,当使用javadoc multiline {@code ... }块时,我们不再需要转义@字符。
{@code ... }
有一个JDK错误记录https://bugs.openjdk.java.net/browse/JDK-8130754…它目前没有被标记为固定的,但它不再在javadoc 15.0.2中复制。