@AutoService(ServiceInterface.class) public interface ServiceInterface { ... } @SupportedSourceVersion(SourceVersion.RELEASE_8) @SupportedAnnotationTypes("com.google.auto.service.AutoService") public class AutoServiceProcessor extends AbstractProcessor { @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { for (Element element : roundEnv.getElementsAnnotatedWith(AutoService.class)) { // ... } return true; } } private void generateRegistrationCode(TypeElement interfaceElement) { StringBuilder codeBuilder = new StringBuilder(); codeBuilder.append("package ").append(packageName).append("; "); codeBuilder.append("public class ").append(className).append(" implements ").append(interfaceElement.getSimpleName()).append(" { "); codeBuilder.append("... "); codeBuilder.append("} "); } groovy plugins { id 'java' } dependencies { implementation 'com.google.auto.service:auto-service:1.0-rc7' } sourceSets { main { java { srcDir 'src/main/java' srcDir 'build/generated/source/annotations' } } } tasks.withType(JavaCompile) { options.annotationProcessorPath = configurations.compile }


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