Как заставить Eclipse показывать Javadoc для аннотаций javax - PullRequest
3 голосов
/ 01 февраля 2010

Мне очень нравится, как в Eclipse есть всплывающая документация Javadoc для различных классов библиотек Java, которые я использую. Однако я также использую аннотации JPA и JAXB, такие как @Entity и @XMLType. Eclipse распознает их как действительные, потому что я могу нажать ctrl-space, и они всплывают. Я также получаю Javadoc для классов javax.

Но для этих аннотаций нет Javadoc ... он просто сообщает, что Javadoc не может быть найден.

Я скачал javadoc, установил его в моей системе и связал со всеми JAR-файлами в моей системной библиотеке Java6 (установлена ​​только одна).

Есть идеи? Трудно поверить, что в аннотациях нет Javadoc!

1 Ответ

3 голосов
/ 14 апреля 2010

@ Объект не помечен аннотацией @Documented.

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

Если вы попытаетесь использовать аннотацию @ javax.Inject, вы должны увидеть JavaDoc, так как он помечен @ документированным.

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

Аннотация @Documented с JavaDoc:

/**
 * 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. Тогда все будет работать так, как вы ожидаете.

...