Я знаю, что этот вопрос уже довольно старый, но, возможно, кто-то найдет этот вопрос полезным:
Вы можете легко сделать это, используя плагин ресурсов maven.
По сути, то, что он делает по умолчанию (вызывая ресурсы: цель ресурсов), перемещает содержимое всех каталогов, перечисленных в разделе сборки / ресурсов, с помощью объявленного фильтра в ${project.build.outputDirectory}
Если вы теперь хотите добавить некоторые дополнительные ресурсы, не влияя на эти разделы, вы можете просто переместить ресурсы туда самостоятельно. Нет, это не значит перетаскивать его туда.
Maven Resources Plugin
предоставляет цель с именем resources:copy-resources
, которая делает именно это для вас: копирование файлов с использованием фильтров из одного места в другое или как указано в документе плагина:
Вы можете использовать ресурсы копирования mojo для копирования ресурсов, которые не находятся в макете по умолчанию maven или не объявлены в элементе build / resources, и присоединить их к фазе
Очевидное преимущество по сравнению с помощником сборки, которое предлагается в других решениях, заключается в том, что, хотя помощник сборки может выполнять действия только на этапе generate-sources
, плагин ресурсов работает на любой стадии. (Хотя было бы разумно выполнить его до стадии упаковки)
Полный пример того, как это использовать, приведен здесь , как часть страницы проекта плагинов.
То, что это делает, копирует содержимое каталога ресурсов, отсутствующего в списке "src/non-packaged-resources
"
в "${basedir}/target/extra-resources
". Но поскольку плагин jar (который создает архив jar) в основном создает zip-архив каталога "${project.build.outputDirectory}
", вы можете поместить его туда.