У меня есть процессор аннотаций:
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
?
Моя сборка градиента:
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'
}
src/
вместо каталогаbuild/
. Это мотивация моего вопроса, никакой другой причины, это мое любопытство. Я хочу знать, возможно ли это. Да, я хочу потом отредактировать сгенерированный код, возможно ли это? Если это невозможно, это также ответ на мой вопрос. Я обновил свой вопрос с помощью gradle build. Я не знаю, как я могу объяснить дальше. - person Leem.fin   schedule 10.10.2019