据我所知,@Documented
批注仅由javadoc生成器使用以从源生成javadocs。因此,保留类型应为SOURCE
,但应为RUNTIME
。为什么?
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented {
}
最佳答案
不会解释为什么@Documented为什么需要运行时保留的IMO
是的,它确实。可以说我运送了一个没有源文件的jar文件。用户只能使用来自类文件的信息来构建适当的javadoc,因为类文件具有适当的批注的原因是它们是RetentionPolicy.RUNTIME。