Maven: создание нескольких jar для зависимостей - PullRequest
0 голосов
/ 09 марта 2011

Я успешно преобразовал проект Java, созданный с помощью Ant, в проект Maven. Разрешение зависимостей, компиляция и упаковка работают просто отлично. У меня проблема, хотя:

Мне удалось создать только одну толстую флягу с приложением и всеми зависимостями. Спецификация проекта требует, чтобы у меня было

  1. файл jar, содержащий приложение
  2. JAR-файл, содержащий зависимости от поставщика A
  3. JAR-файл, содержащий все другие зависимости

Вот мой вопрос: может ли это быть легко сделано с Maven или это нарушает философию Maven? Я думал о создании дескриптора сборки, хотя я пока не уверен, как именно это сделать.

Комментарии и мысли по этому поводу высоко ценятся.

1 Ответ

0 голосов
/ 09 марта 2011

Плагин maven-assembly-plugin может сделать это, если вы сконфигурируете несколько его исполнений с несколькими дескрипторами ассемблера, по одному для каждого из трех ваших желаемых пакетов.Этот ответ предполагает, что под «jars» вы подразумеваете «контейнеры для распространения».Если под «банками» вы подразумеваете «вещи, которые попадают в classpath», то вам нужно использовать плагин maven-shade-plugin и создать многомодульный проект.

Плохо пытаться создавать больше, чемодна вещь, которая заканчивается в пути к классам в одном проекте maven, так как это включает классификаторы, и есть угловые случаи.Чтобы объединить несколько вещей в банки, вы используете плагин maven-shade-plugin, чтобы извлечь содержимое нескольких вещей и выплеснуть объединенную банку.

...