Включить разархивированный ресурс в JAR - Maven

У меня есть версионный ZIP-файл, развернутый в моем репозитории артефактов, который мне нужно загрузить, извлечь и включить в качестве ресурса с помощью Maven.

Я успешно использовал maven-dependency-plugin для извлечения артефакта и извлечения его во время фазы package с целью unpack. Я вижу извлеченный ZIP-файл там, где я хочу, в каталоге сборки. Затем я включил этот распакованный каталог в качестве ресурса. Я вижу, что каталог включается с соответствующими файлами внутри source-jar/myProject-sources.jar. Я не вижу эту папку включенной в окончательный JAR myProject.jar.

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


person bkstradling    schedule 15.01.2021    source источник


Ответы (1)


Если вы извлекаете во время фазы package, которая намного позже фазы process-resources, когда по умолчанию выполняется цель resources maven-resources-plugin:

Жизненные циклы Maven, этапы, цели, плагины

resources:resources копирует ресурсы для основной исходный код в основной выходной каталог.

Эта цель обычно выполняется автоматически, поскольку по умолчанию она привязана к фазе жизненного цикла ресурсов процесса. Он всегда использует элемент project.build.resources для указания ресурсов и по умолчанию использует project.build.outputDirectory для указания места назначения копирования.

Я бы попытался извлечь на этапе generate-resources.

person Gerold Broser    schedule 15.01.2021
comment
Моя IDE помечала распаковку с ошибкой «Выполнение плагина, не охваченное конфигурацией жизненного цикла», когда я ранее пытался изменить фазу. Я проигнорировал это и скомпилировал из командной строки; отлично работает с вашим предложением. - person bkstradling; 16.01.2021
comment
@bkstradling В Eclipse я могу игнорировать эти сообщения в PreferencesMavenError/Warnings или отредактировать файл метаданных сопоставлений жизненного цикла в Mavenсопоставления жизненного цикла. - person Gerold Broser; 16.01.2021