Maven2: возможность развертывания зависит от классификатора артефактов? - PullRequest
1 голос
/ 02 августа 2011

На самом деле у меня есть 2 разные проблемы, но я думаю, что они как-то связаны:

  1. У меня есть артефакт с набором дескрипторов сборки, который создаст дополнительный JAR (с дополнительным классификатором). По умолчанию Maven2 / 3 развернет сборку, созданную вместе с основным артефактом, для удаления хранилища Maven. Есть ли способ развернуть только основной артефакт, но не сборку?

  2. У меня есть артефакт, в котором у меня плагин jar создает другой артефакт с другим классификатором (более конкретно, артефакт EJB, и я генерирую клиентский JAR). Я хочу развернуть только клиентский JAR-файл в Maven repo coz. Я думаю, что основной артефакт EJB на самом деле не будет использоваться другим проектом. Возможно ли это сделать?

Большое спасибо


отредактировано, чтобы предоставить больше информации:

Причина, по которой следует избегать развертывания EJB, заключается в том, что основной артефакт EJB не будет зависеть от другого проекта, за исключением содержащего его проекта. Содержащий проект создаст EAR (который содержит EJB), и обычно нам нужна только эта сборка локально (с помощью пакета mvn). Тем не менее, EJB-клиент - это то, что мы развернем в нашем репо, чтобы позволить другим проектам делиться, когда им нужно будет связаться с нашим приложением.

Честно говоря, развертывание EJB также не повредит, но я просто хочу посмотреть, смогу ли я сэкономить ненужную трату дискового пространства в нашем репозитории.

Точно так же, для развертывания сборки, это потому, что проект - это то, что мы хотим развернуть, чтобы позволить другому проекту зависеть. Однако при создании этого проекта у нас также есть отдельная сборка, созданная в одно и то же время (например, исполняемый файл jar all-in-one), который нам нужен только, который собран локально, и от других проектов это не зависит .

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Отключите опцию «присоединить» к сборочному плагину. Тогда он не будет официально артефактом и не будет развернут; он просто будет скрываться в целевом каталоге, дуясь, что вы не любите его так сильно, как его старшего брата и заговора.

0 голосов
/ 31 августа 2011

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

...