【问题标题】:Javadoc displaying value on an inner class constant using @valueJavadoc 使用 @value 在内部类常量上显示值
【发布时间】:2012-07-10 17:38:19
【问题描述】:

我有一个内部类,它声明一个常量,并希望使用 @value 注释在封闭的顶级类的 Javadoc 中显示它的值。例如:

/**
 * {@value #FOO_CONS} // this displays well
 * {@value #BAR_CONS} // this does not work (checked in the latest Eclipse)
 * {@value Bar#BAR_CONS} // this does not work, either
 */
public Foo {
  public static final int FOO_CONS = 1;
  static class Bar {
    public static final int BAR_CONS = 42;
  }
}

任何想法如何在Foo 类(或任何其他类,一般来说)的 Javadoc 中显示 BAR_CONS 的值?

【问题讨论】:

  • 您是否尝试过使用@value Foo.Bar#BAR_CONS,如 [此处][1] 所述,它采用与 @see 参数相同的形式,如 [此处][2] Nested classes must be specified as outer.inner, not simply inner, for all forms. 我不这样做这里没有日食,所以我无法进一步测试。否则,完全限定的路径应该可以工作 com.pkg.Foo.Bar#BAR_CONS [1]: docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/… [2]: docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/…
  • 是的,这不起作用,至少它在Eclipse中没有正确显示。更重要的是,我什至无法使用 {@value Foo#FOO_CONS} 正确显示 FOO_CONS。
  • 你用的是什么版本的eclipse?我记得在 Helios 之前没有正确显示 @value 注释。
  • 靛蓝 (3.7.2)。上面的示例在您的 Eclipse 中是否可以正常工作(如果您按照描述使用 @value)?
  • @Alex 找到了一些有用的东西。我测试了完全合格的路径并取得了成功。 Foo 在包“org.oyrm.javadoc”中,注释为{@value org.oyrm.javadoc.Foo.Bar#BAR_CONS}

标签: java annotations constants javadoc


【解决方案1】:

在另一个包中定义的常量的Javadoc格式应该是:
{@value package.class#field}

但是,它可能无法呈现是一个已知问题:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=342194

【讨论】:

    【解决方案2】:

    如果为具有可见性“包”(这是 Bar 类的可见性)的成员创建 javadoc,我会在 Foo.Bar 下的 javadoc 中获得常量

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多