如何让Eclipse显示Javadoc以获取javax注释

时间:2010-02-01 05:57:12

标签: annotations javadoc

我非常喜欢Eclipse为我使用的各种Java库类弹出Javadoc文档的方式。但是,我也使用JPA和JAXB注释,例如@Entity和@XMLType。 Eclipse认为这些是有效的,因为我可以点击ctrl-space并弹出它们。我也为javax类获得了Javadoc。

但是这些注释没有Javadoc ......它只是报告找不到Javadoc。

我已经下载了javadoc,将其安装在我的系统上并与我的Java6系统库中的所有JAR相关联(唯一安装的JAR)。

有什么想法吗?很难相信注释上没有Javadoc!

1 个答案:

答案 0 :(得分:3)

@Entity未标记@Documented注释。

@Target(TYPE) 
@Retention(RUNTIME)
public @interface Entity {

如果您尝试使用@ javax.Inject注释,则应该看到JavaDoc,因为它标有@Documented。

@Target({ METHOD, CONSTRUCTOR, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Inject {}

使用JavaDoc的@Documented注释:

/**
 * Indicates that annotations with a type are to be documented by javadoc
 * and similar tools by default.  This type should be used to annotate the 
 * declarations of types whose annotations affect the use of annotated
 * elements by their clients.  If a type declaration is annotated with
 * Documented, its annotations become part of the public API
 * of the annotated elements.
 *
 * @author  Joshua Bloch
 * @version 1.6, 11/17/05
 * @since 1.5
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented {
}

解决方案是导入Java源代码而不是JavaDoc。然后它会像你期望的那样工作。