Есть ли простой способ получить доступ к файлам ресурсов проекта из задачи gradle?

#gradle

#gradle

Вопрос:

Я работаю над задачей Gradle для проекта Java. Задача должна считывать файлы из вложенной папки каталога ресурсов проекта. Я ожидал найти стандартный способ доступа Gradle к ресурсам проекта, но не смог его найти. Предоставляет ли Gradle простой способ поиска и импорта файлов ресурсов? Может быть, через плагин?

Ответ №1:

Если вы имеете в виду src/main/resources папку, то нет. Это соглашение, используемое плагином Java для хранения ресурсов для фактического модуля, а не для пути к классу сборки. Но если вы просто хотите прочитать файл в нем из задачи, просто используйте обычные API Java, Groovy или Kotlin. Для этого вам не нужен плагин.

Вот один из них для Groovy:

 task printMyResource {
  doLast {
    logger.quiet(file("src/main/resources/subfolder/my_file.txt").text)
  }
}
  

(Метод file разрешает путь к файловому объекту относительно папки проекта.)

Комментарии:

1. Спасибо! Это намного элегантнее, чем я себе представлял.