我有一些使用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
下的特定项目设置不会弄乱设置)。