2

私は注釈プロセッサを持っています:

public class MyAnnotationProcessor extends AbstractProcessor {
    ...

    @Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
        // Here I deal with the annotated element
         ...

        // use JavaPoet to generate Java source file
        TypeSpec generatedClazz = generate_code();
        JavaFile javaFile = JavaFile.builder("com.my.foo", generatedClazz).build();
        javaFile.writeTo(filer);
    }

}

process上記のコールバックで注釈付き要素を処理した後、 JavaPoetを使用して Java ソース コードを生成し、コードの Java ファイルを作成します。プロジェクトをビルドすると、生成された Java ソース コード ファイルがデフォルトで に移動することを除いて、すべてが機能しますbuild/generated/sources/myApp/com/my/foo。生成された Java ファイルをプロジェクトのソース コードの場所に配置するにはどうすればよいsrc/main/java/com/my/fooですか?

私のgradleビルド:

plugins {
    id 'java'
}

group 'com.my.app'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {

    testImplementation 'junit:junit:4.12'

    implementation 'com.squareup:javapoet:1.11.1'
    implementation 'com.google.guava:guava:28.1-jre'
}
4

2 に答える 2