Я экспериментирую с процессорами аннотаций, использующими 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.
Что я здесь не так делаю?
Любая помощь приветствуется.