Ресурсы копирования Maven в многомодульном проекте

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

Возьмем, к примеру, файл LICENSE, который я предполагаю одинаковым для всех модулей. Я предпочитаю не копировать его вручную в каждый модуль, потому что файл может меняться со временем. Я также предпочитаю не ссылаться статически на ресурсы (даже при использовании относительных путей) за пределами папки проекта, потому что модульная структура тоже может измениться.

Есть ли какой-нибудь плагин, который можно использовать для надежной гарантии того, что каждому модулю предоставлен требуемый файл? В равной степени допустимо, чтобы такая копия была получена путем использования POM родительского проекта или непосредственно выполнена суперпроектом в модульной иерархии.


person Luca Geretti    schedule 25.09.2011    source источник


Ответы (1)


вы можете использовать сборку и плагины зависимостей ... вы наткнулись на эту ссылку? http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/

он описывает этот вариант ... его с 2008 года, но maven существует уже довольно давно ... так что я думаю, что он более или менее актуален

изменить комментарии
Другой вариант — maven-remote-resources-plugin. Более подробный пример см. по адресу:
http://maven.apache.org/plugins/maven-remote-resources-plugin/examples/sharing-resources.html

Поскольку их интро говорит само за себя, цитирую (maven.apache.org)

Этот подключаемый модуль используется для извлечения JAR-файлов ресурсов из удаленных репозиториев, обработки этих ресурсов и включения их в JAR-файлы, которые вы создаете с помощью Maven. Очень распространенным вариантом использования является необходимость упаковки определенных ресурсов единым образом в вашей организации: в Apache требуется, чтобы каждый создаваемый JAR содержал копию лицензии Apache и файл уведомлений, который ссылается на все используемое программное обеспечение в данном проекте. .

person definitely undefinable    schedule 25.09.2011
comment
Вторая ссылка в ответе уже содержит пример конфигурации, которую вы получаете, используя maven-remote-resources-plugin. - person Luca Geretti; 11.10.2014