Подтвердить что ты не робот

Maven - Как создать несколько независимых проектов Maven из одного проекта

У меня есть 3 проекта maven

  • веб-компоненты
  • DataComponents
  • ServiceComponents

Когда я строю каждый из проектов, я должен зайти в каждую папку и запустить mvn clean install для каждого из проектов.

Я просмотрел многомодовые проекты, и большинство ресурсов, которые я вижу, предлагают мне внести изменения в структуру моих существующих проектов.

Можно ли создать новый проект, который будет строить каждый из независимых проектов, без каких-либо изменений каких-либо изменений в существующем проекте, включая их отдельные файлы pom?

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

4b9b3361

Ответ 1

Вы ищете агрегацию Maven без наследования. Как показано на ссылочной странице, вы просто создаете новую POM, чья упаковка является "pom" и которая имеет список "модулей". Модуль является относительным путем к другому проекту Maven:

<project>
  ...
  <packaging>pom</packaging>
  ...
  <modules>
    <module>foo</module> <!-- module is in a subdirectory of this project -->
    <module>../bar</module> <!-- module is a sibling to this project -->
    <module>../../../other-projects/baz</module> <!-- somewhere else entirely -->
  </modules>
</project>

Поведение по умолчанию при построении такого типа, известного как "агрегатор", - это сборка всех модулей, как если бы вы выполнили Maven в каждом каталоге модулей с теми же аргументами.

Ответ 2

Если вы добавите проект агрегатора в каталог выше трех проектов, которые назовут их как модули (имя модуля = имя подкаталога), он будет их создавать без каких-либо изменений в собственных POM. Им не нужно ссылаться на нее как на родителя.