试图逃避" @"使用Netbeans 8.0在javadoc注释中的{@code}块中的符号

时间:2014-05-22 16:44:56

标签: java netbeans escaping javadoc java-8

我正在尝试使用Netbeans 8.0在Javadoc注释中插入{@code}注释,但它无法正常工作。

我之前已经看过其他问题(例如How can you escape the @ character in javadoc?),但html转义@{@literal @}似乎都不起作用。

我的评论看起来像这样(为了示例,使用两种方法):

/**
 * blah blah blah
 * <p>
 * For example:
 * <pre>
 * {@code
 * {@literal @}begin_specification
 *  ...
 * &#64;end_specification
 * }
 * </pre>
 */

我可以点击Run -> Generate Javadoc,一切运行正常,没有错误,但是当我在浏览器中查看结果输出时,我看到了这一点:

{@literal @}begin_specification
 ...
&#64;end_specification

哪个不是理想的结果......有什么建议/想法吗?

我对Java很新,但在过去使用过像C / C ++这样的东西。我在这里做错了吗?我正在使用NetBeans 8.0(Build 201403101706)和Java 1.8.0_05 x64。

4 个答案:

答案 0 :(得分:6)

一种方法是使用:

<pre> <code>
   {@literal @}
</code> </pre>

而不是{@code ...}块。请参阅第86行周围的this example

答案 1 :(得分:2)

这是一个已知的错误。相应错误的链接是:

https://bugs.openjdk.java.net/browse/JDK-8130754

截至2016-10-07,没有针对修复的预定版本。

答案 2 :(得分:1)

我刚刚使用NetBeans 8.0.1遇到了这个问题,所以摆弄了大约15分钟。首先使用javadoc中的{@code }格式化程序,parens中没有任何内容出现,所以我在javadoc中的文本中有实际的中断。然后在弄乱并改变它(使用<pre>和其他几个标签)并打开其他具有{@link }和诸如此类的类之后,它才开始工作。

不确定发生了什么,但也许IDE的javadoc渲染器需要一些时间才能完全恢复&#34;热身&#34;。听起来像技术一样,它真的出现了这种方式。一个javadoc标题正确地显示了一个{@code }块,但是没有另一个只显示几个字。现在所有人都正确显示。不确定这会对任何人有所帮助,但在认为我要向NetBeans发送新的bugzilla票后,我会备份并开始工作。回到我自己的门票......

答案 3 :(得分:1)

解决此错误的一种方法是使用与标准“@”符号类似的不同字符。我找到了几个类似的Unicode字符:

       
  1. @(U + 0040):商业AT(正常的破损)
  2.    
  3. ⓐ(U + 24D0):圆形拉丁文小写字母A
  4.    
  5. @(U + FE6B):小商业
  6.    
  7. @(U + FF20):FULLWIDTH COMMERCIAL AT
  8. 我尝试在{@code ...}标记内的javadoc评论中写下所有这些内容的“@Override”。 (我使用Netbeans编辑器和Mozilla Firefox浏览器。)除了#1之外,所有符号都有效。此外,#3没有出现在编辑器中,但它在浏览器中运行良好。