Как настроить API обработки аннотаций без внешнего Jar с помощью Maven? - PullRequest
5 голосов
/ 03 февраля 2012

Я хотел бы использовать пользовательскую аннотацию в моем проекте.

Как мне настроить maven 3 для обработки моей аннотации. Аннотация и реализация класса AbstractProcessor встроены в мое приложение.

Моя аннотация доступна только для тестирования (src / test / java).

Государственная аннотация:

@Target(ElementType.METHOD)
public @interface State {
  boolean success() default true;
}

TestAnnotationsProcessor:

@SupportedAnnotationTypes("com.*****.client.State")
public class TestAnnotationsProcessor extends AbstractProcessor {

  @Override
  public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    System.out.print("TESSST ANNOTATION");
    return true;
  }
}

Я не хочу помещать свою аннотацию во внешний проект ... это будет глупо, потому что это действительно зависит от моего проекта.

Как я могу это сделать? Спасибо.

1 Ответ

3 голосов
/ 03 февраля 2012

Не могли бы вы сделать что-то вроде (простите, если синтаксис немного не работает, у меня не под рукой моя IDE):

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin<artifactId>
  <version>2.3.2</version>
  <executions>
    <execution>
      <goals>
        <goal>testCompile</goal>
      </goals>
      <phase>test-compile</phase>
      <configuration>
        <annotationProcessors>com.******.TestAnnotationsProcessor</annotationProcessors>
        <proc>only</proc>
      </configuration>
    </execution>
  </executions>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...