如何在没有使用Maven的外部Jar的情况下配置Annotation Processing API?

时间:2012-02-03 12:26:32

标签: java maven annotations

我想在我的项目中使用自定义注释。

如何配置 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 个答案:

答案 0 :(得分:3)

你能做点什么吗(请原谅我,如果语法稍微偏离,我不会让我的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>