2015-12-07 2 views
0

В моем проекте Maven у меня есть определенные зависимости, которые должны присутствовать внутри WEB-INF/lib. Я не могу поместить все банки в WEB-INF/lib, только выбранные. Как это сделать?Maven: копировать только выбранные банки внутри WEB-INF/lib

Я не могу использовать плагин maven-resources с тех пор, я должен был бы упомянуть имя всего баннера внутри тега <include>, и мне нужно сохранить его динамическим.

Я пробовал использовать <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>, но это не дает мне возможность вставлять только выбранные банки в папку lib.

Я также попытался использовать <scope>provided</scope> для некоторых из фляг, но из-за этого имя флага не добавляется в поле пути к классам внутри файла manifest.mf.

Пожалуйста, предложите какое-либо решение. Заранее спасибо!

+2

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

+0

* «Я также попытался использовать предоставленные для некоторых из фляг, но из-за этого имя флага не добавляется в поле classpath внутри файла manifest.mf« * ... это странно? Если это так, то это будет добавление банок, которые не существуют. Какая настройка у вас есть, что вам нужны несуществующие баночки в manifest.mf? – Gimby

+0

На самом деле, мне нужны даже те банки в манифесте, которые имеют предоставленную область. Можете ли вы мне помочь с этим? –

ответ

0

Вы можете использовать плагин сборки и индивидуальный дескриптор сборки. В дескрипторе вы можете установить, какие банки вы хотите скопировать с их идентификатором артефакта, идентификатором группы, версией и областью. он также поддерживает регулярное выражение. https://maven.apache.org/plugins/maven-assembly-plugin/advanced-descriptor-topics.html

0

Это не может быть лучшим способом для упаковки контента для WEB-INF/lib/ вложенной директории в WAR файле, но реализация представлена ​​в вопросе для How to put all required jars in a lib folder inside the final jar with maven (используя maven-dependency-plugin плагина) решить свои JAR потребностей в комплектации всех в корзине lib/ моей последней банки. Как ни странно, это часто задаваемый вопрос с множеством различных решений. Эта реализация фактически объединила банки внутри вложенного каталога lib/, в то время как другие, например, извлекли содержимое моих зависимых банок и поместили свои классы рядом с моими классами. Таким образом, это может помочь вам немного приблизиться, но, возможно, не является официальным способом обработки архивных файлов файлов WAR.

Смежные вопросы