процессор аннотаций javac: обработка классов зависимостей - PullRequest
0 голосов
/ 20 января 2011

Давайте представим, что у меня есть 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?

Наверное, нет, и мне нужно, чтобы это было, вы знаете, как это сделать?

Спасибо!

1 Ответ

1 голос
/ 18 июня 2011

Ну, ответ довольно прост: если ClassB находится в исходном пути, он будет хорошо обработан. Если нет, то не будет. Тот факт, что класс ClassA метод из ClassB ничего не меняет.

Самый простой способ проверить это - распечатать список аннотированных классов, предоставленных вашему процессору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...