2

我有一些使用 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>() {}}.
4

1 回答 1

0

@code 标签有一些注意事项(请参阅:Javadoc 注释中的多行代码示例)...其中之一是您需要避免在同一行中混合标签大括号和实际内容大括号。

考虑到这一点,我会将 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 commentsIgnore。应用,重建,你应该准备好了(还要确保下面的特定项目设置Project -> Properties-> Java Compiler -> Javadoc不会弄乱设置)。

于 2013-08-24T02:18:51.743 回答