Обработка аннотаций и регистрация процессора в кислородном затмении - PullRequest
0 голосов
/ 13 ноября 2018

Я экспериментирую с процессорами аннотаций, использующими Eclipse-Oxygen
Поэтому я создал проект Annotation-Processor и проект Annotation-Example.
Краткое описание-Пример:

    package com.annotation.example;

    import com.annotation.annotation.Anno;

    @Anno
    public class TestClass
    {
        public int i;

        public static void main(String[] args)
        {
            System.out.println("Hello annotations");
        }
    }

Аннотация-Аннотация процессора:

    package com.annotation.annotation;

    import static java.lang.annotation.RetentionPolicy.SOURCE;

    import java.lang.annotation.Documented;
    import java.lang.annotation.Retention;

    @Documented @Retention(SOURCE) public @interface Anno
    {}

Процессор аннотации-процессор-аннотации:

    package com.annotation.processor;

    import java.util.Collections;
    import java.util.Set;

    import javax.annotation.processing.AbstractProcessor;
    import javax.annotation.processing.RoundEnvironment;
    import javax.lang.model.SourceVersion;
    import javax.lang.model.element.Element;
    import javax.lang.model.element.TypeElement;
    import javax.tools.Diagnostic.Kind;

    import com.annotation.annotation.Anno;

    public class AnnoProcessor extends AbstractProcessor
    {
        @Override
        public SourceVersion getSupportedSourceVersion()
        {
            return SourceVersion.latestSupported();
        }

        @Override
        public Set getSupportedAnnotationTypes()
        {
            return Collections.singleton(Anno.class.getCanonicalName());
        }

        @Override
        public boolean process(Set allAnnotatedElements, RoundEnvironment roundEnv)
        {
            for(Element annotatedElement : roundEnv.getElementsAnnotatedWith(Anno.class))
            {
                System.out.println(annotatedElement.getSimpleName());
                processingEnv.getMessager().printMessage(Kind.ERROR, "jus checking");
            }
        return false;
        }
    }

Содержимое javax.annotation.processing.Processor:
com.annotation.processor.AnnoProcessor

Мой исследователь проекта: Project Explorer

Тем не менее мой процессор аннотаций не зарегистрирован в Eclipse.
Что я здесь не так делаю?
Любая помощь приветствуется.

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