如何正确实现RUNTIME注释的处理器(不适用于SOURCE)

时间:2017-04-27 15:38:53

标签: java annotations runtime

我需要一些帮助,使用RetentionPolicy.RUNTIME(类似于@Deprecated)为注释开发处理器。无论Spring,Java EE等,我都在JavaSE环境中寻求解决方案。

我现在理解下一点:

  1. com.sun.mirror.apt已弃用,不应再使用;
  2. AbstractProcessor(子类),文件META-INF \ source \ javax.annotation.processing.Processor和一个注释本身都部署在jar文件中并放置在主应用程序的CLASSPATH中(使用Enabled注释处理)完全正常工作RetentionPolicy.SOURCE;
  3. 但是,我是对的:

    1. 上面提到的使用AbstractProcessor的方法不起作用 RetentionPolicy.RUNTIME(或者至少我不能使它工作);
    2. 出于RUNTIME的原因,应该使用实现InvocationHandler接口的注释处理器(link)。
    3. 另外,@ Deprecated的处理器是通过apt还是InvocationHandler开发的?我在jdk中找不到这个注释的处理器。

0 个答案:

没有答案