public @interface MyAnnotation { String value() default "default value"; int[] numbers() default {1, 2, 3}; } @MyAnnotation(value = "example", numbers = {4, 5, 6}) public class MyClass { // ... } public class MyAnnotationProcessor extends AbstractProcessor { @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { for (Element element : roundEnv.getElementsAnnotatedWith(MyAnnotation.class)) { // ... } return true; } } <build> <plugins> <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId> <version>3.3.3</version> <executions> <execution> <id>process</id> <goals> <goal>process</goal> </goals> <phase>generate-sources</phase> <configuration> <processors> <processor>com.example.MyAnnotationProcessor</processor> </processors> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>my-annotation-processor</artifactId> <version>1.0.0</version> </dependency> </dependencies> </plugin> </plugins> </build>


上一篇:
下一篇:
切换中文