Процессор аннотаций Java, написанный с использованием Gradle, не может считывать ресурсы из src/основные/ресурсы

#java #gradle #annotation-processing

#Ява #грейдер #обработка аннотаций

Вопрос:

Я пытаюсь создать пользовательский процессор аннотаций, используя Java на Gradle. У меня есть работа. проект, настроенный так, чтобы процессор мог генерировать исходные файлы Java и т. Д. Я пытаюсь прочитать некоторые файлы конфигурации, которые будут расположены в src/main/resources подпроекте, использующем процессор аннотаций. К сожалению, я перепробовал все и до сих пор не могу заставить процессор считывать файлы из src/main/ресурсов.

Версия Gradle: 7.3 Версия Java: 11

Если у меня есть файл с именем sub/file.txt under src/main/resources , я перепробовал все приведенные ниже комбинации.

 processingEnv.getFiler().getResource(StandardLocation.SOURCE_PATH, "sub", "file.txt"); processingEnv.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "sub", "file.txt"); processingEnv.getFiler().getResource(StandardLocation.CLASS_OUTPUT, "sub", "file.txt"); processingEnv.getFiler().getResource(StandardLocation.CLASS_PATH, "sub", "file.txt");  

И каждый из них производит а NoSuchFileException . Я даже пробовал использовать пустую строку для среднего аргумента и sub/file.txt для последнего безрезультатно.

У меня также есть ниже в моей сборке.gradle

 tasks.withType(JavaCompile) {  dependsOn tasks.processResources   inputs.file(layout.buildDirectory.file("resources/main/sub/file.txt")) }