我有一些使用Eclipse抱怨的{@Code注释的开源代码。由于我不在乎,因此我在编译器选项中关闭了Javadoc,但它仍在抱怨并且无法编译。

错误为:“ Javadoc:内联标记缺少右括号”

实际上,存在右括号。在某些情况下,仅几行,而在其他情况下,甚至在同一行!

甚至陌生人:在不同工作区中的较小项目中的相同代码也可以正常工作。我已经比较了两个项目的设置几次,它们看起来是一样的。在许多情况下,选项设置为不允许项目特定的设置。

我还做了其他事情,例如清理项目,尝试使用Java 1.5与1.7编译器选项等。

其他详情:


Mac上的Java 7
日蚀开普勒
代码是Guice 2.0(我知道它很旧,通常应该使用jar,长话大说)
一个示例是Key.java第107行,请参见下文


Guice代码中的示例(尽管我通常不在乎,因为它只是注释)

  /**
    ...
   * <p>{@code new Key<Foo>() {}}.

最佳答案

@code tag有一些警告(请参见:Multiple line code example in Javadoc comment)...其中之一是您需要避免在同一行中混用标签括号和实际内容括号。

考虑到这一点,我将Javadoc重写为:

 <p><pre><code>new Key{@literal<Foo>}(){}</code><pre>.</p>


您也可以使用@code防止<Foo>被解释为HTML标记。

我正在使用@literal,因为内容已经用<code>标记包裹了。 <pre>标记用于保留空格和换行符。



关于Javadoc配置,如果要清除地毯下的污垢,请转到:

Windows -> Preferences -> Java -> Compiler -> Javadoc


并将Malformed Javadoc comments设置为“忽略”。申请,重建并准备出发
(还要确保Project -> Properties-> Java Compiler -> Javadoc下的特定项目设置不会弄乱设置)。

08-03 18:17
查看更多