让我们假设我在2个不同的包中有2个类。
前:
package org.example;
public ClassA {
@MyAnnotation
public void xpto() {
ClassB.staticMethod();
}
}
package org.another;
public ClassB {
public void staticMethod() {
//
}
@MyAnnotation
public x1() {
}
}
在ClassA中,有一个引用ClassB静态方法的方法。
现在我有一个带有注释处理器的javac进程,它将编译/ org / example / **的每个类
当javac编译ClassA时,它会发现ClassB是依赖的,所以它也必须编译ClassB。是否会处理ClassB?
我猜不是,我需要它,你知道怎么做吗?
谢谢!
答案 0 :(得分:1)
嗯,答案很简单:如果ClassB在源路径中,那么它很好地被处理。如果没有,它就不会。 ClassA类是ClassB的一个方法,不会改变任何东西。
最简单的检查方法是打印给予处理器的注释类列表。