Сборка родственных проектов при запуске mvn install - PullRequest
0 голосов
/ 21 ноября 2018

У нас есть проект, который недавно переключился с инструментов Ant и crappy CLI на maven,
наша текущая структура:

- parent
    - main-project:
    - sub-module-A:
    - sub-module-B:

Каждый из этих проектов находится в своем собственном репозитории, и они связанычерез pom-файлы parent имеет все три проекта, определенные в тегах, а main-project определяет оба подмодуля как зависимости.

проблема под рукой: Поскольку основной проект - это место, где я развертываю сайт (в данном случае), я хочу убедиться, что исходные коды обоих модулей обновляются при его запуске, а это означает, что я хочу при необходимости скомпилировать оба подмодуля при запуске mvn install в основном проекте.

Я пытался использовать mvn-exec-plugin для сборки обоих, но на самом деле ничего не собиралось.

Есть идеи, как это исправить?

edit: Я работаю mvn appengine:run из main-project и хочу, чтобы при необходимости источники из подмодулей A и B устанавливались

1 Ответ

0 голосов
/ 21 ноября 2018

Предполагается, что у вашего main-project есть зависимости от sub-module-A и sub-module-B, а у родителя все проекты в виде модулей, т.е.

parent

<modules>
    <module>main-project</module>
    <module>sub-module-A</module>
    <module>sub-module-B</module>
<modules>

main-project

<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>sub-module-A</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>sub-module-B</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

Затем вы можете построить parent проект с

mvn --projects :main-project --also-make install

или использовать сочетания клавиш для параметров

mvn -pl :main-project -am install

С этими опциями строятся только main-project и все его зависимости (которые находятся где-то в модулях parent).

См. this и this для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...