Java:从.class文件继承的进程注释
我有一个继承的注释,它具有类保留:Java:从.class文件继承的进程注释,java,annotation-processing,Java,Annotation Processing,我有一个继承的注释,它具有类保留: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.CLASS) @Inherited public @interface MyAnnotation {} 它是这样使用的: @MyAnnotation public class Parent {} public class Child extends Parent {} 如果这些类在同一个项目中,我的注释处理器将在这两个类上执行,因为注释是正确继承
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.CLASS)
@Inherited
public @interface MyAnnotation {}
它是这样使用的:
@MyAnnotation
public class Parent {}
public class Child extends Parent {}
如果这些类在同一个项目中,我的注释处理器将在这两个类上执行,因为注释是正确继承的
如果Parent
位于一个单独的项目中,而该项目的.jar包含在Child
项目的类路径中,则它不起作用。注释处理器未在子对象上执行
这是故意的还是有办法解决的?如何搜索带有该注释的类?请给我们看一些code@kalsowerus我不找他们。注释处理器定义要处理的注释,并自动随注释一起提供。它是Java编译器中内置的一种特殊机制。您还没有指定如何构建项目。您是否使用增量编译?@user1643723 Eclipse编译器和完整的Gradle构建会产生相同的结果。@ErikHofer否。请参阅,-“如果没有注释类型,注释处理仍会发生,但只有支持处理“*”的通用处理器才能声明(空)注释类型集”.如何搜索带有该注释的类?请给我们看一些code@kalsowerus我不找他们。注释处理器定义要处理的注释,并自动随注释一起提供。它是Java编译器中内置的一种特殊机制。您还没有指定如何构建项目。您是否使用增量编译?@user1643723 Eclipse编译器和完整的Gradle构建会产生相同的结果。@ErikHofer否。请参阅,-“如果没有注释类型,注释处理仍会发生,但只有支持处理“*”的通用处理器才能声明(空)注释类型集”。