在javadoc中@value的意外结果

时间:2014-04-28 09:43:11

标签: java javadoc

Javadoc似乎只处理声明引用字段的类的@value标记,而只处理没有类名的引用。

示例:

我有课程

/** {@value #F} */
public class A {
    public static final String F = "field";
}

/** {@value A#F} */
public class B {}

jdk 1.7 javadoc工具处理@value上的A代码,但对于B,我收到以下警告:

warning - A#F (referenced by @value tag) is an unknown reference.

当我尝试使用A引用A#F的javadoc中的字段时,也会发生此警告。当我使用@link标签时,一切都按预期工作。

我找不到任何文档提到@value标记只能引用javadoc所在类中声明的字段。 这是一个错误,还是有另一种方法让@value标记显示值?

1 个答案:

答案 0 :(得分:4)

使用引用的类提供整个包名解决了我的问题: 假设类com在com.example包中定义,这适用于我:

/** 
* {@value com.example.A#F} 
*/
public class B {}

希望它有所帮助。