Добавьте файл в определенную папку с помощью сборки gradle

#gradle #build.gradle

Вопрос:

В настоящее время я работаю с проектом (с использованием gradle), которому требуется файл свойств в том же пакете для класса, который его использует (я не могу изменить эту конфигурацию). Я добавил файл в свой пакет, но когда я выполняю команду сборки gradle, файл опускается и добавляется только файл .class. Приложение развернуто в виде файла войны.

Я попытался отредактировать задачу войны, но не могу найти способ добавить файл свойств:

 war {
        from('src/main/com/foo/bar') {
            include 'b.properties'
            into 'WEB-INF/classes/com/foo/bar'
        }
}
 

Боевая задача выполняется (я добавил prinln, и она выполняется). Кроме того, я пытался изменить пути, но безрезультатно. Также заменив from(«путь») на from (файл(«путь»)), но, похоже, файл по-прежнему нигде не добавляется.

Как я должен этого достичь? Спасибо!

Ответ №1:

Есть ли что — нибудь, что мешает вам следовать соглашению Gradle о ресурсах? Например, поместите свой файл собственности по адресу src/main/resources/com/foo/bar/b.properties

Если вы сделаете это, вам не понадобятся никакие настройки задач

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

1. Это зависимость от внешней библиотеки, которую я не могу контролировать. Если я добавлю свойства в папку ресурсов, jar не будет работать, вот почему я пытаюсь поместить этот файл в определенное место. Все остальные файлы свойств находятся в папке ресурсов.

2. Можете ли вы определить «не работает»? Возможно, этот файл свойств находится внутри одной из ваших банок зависимостей, и вы пытаетесь переопределить его, поместив его в WEB-INF/classes то, что «выше» в порядке пути к классам?