#java
Вопрос:
У меня есть три модуля,A зависит от B и C.
C-это модуль абстрактного процессора.
и аннотацию на языке Си, как показано ниже:
@Retention(RetentionPolicy.SOURCE) public @interface TableForGenerator { Classlt;? extends TableBasegt; value(); }
Табличная база и ее подкласс, называемый SomeTable, находятся в B.
интерфейс с аннотацией, как показано ниже:
@TableForGenerator(SomeTable.class) public interface UserMapper {
в абстрактном процессоре я сканирую элемент с помощью TableForGenerator и хочу получить TypeMirror,как показано ниже:
Listlt;? extends AnnotationMirrorgt; list=element.getAnnotationMirrors(); Maplt;? extends ExecutableElement, ? extends AnnotationValuegt; map=list.get(0).getElementValues(); // get annotationValue from map,except get TypeMirror of SomeTable but get "lt;errorgt;"
в отладке я замечаю, что значение аннотации — «Неразрешенный класс», а значение — lt; ошибка gt;
если я перемещу что-то в модуль А,все будет работать нормально.
итак,мой вопрос в том, есть ли какой-либо способ получить отображение типа какой-либо таблицы при аннотации в модуле A и какой-либо таблицы в модуле B? или я должен сделать аннотацию и класс в одном модуле.
спасибо всем за то, что прочитали мой плохой английский и дали несколько советов. большое спасибо