Сборка родственных проектов при запуске mvn install

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

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

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

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

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

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

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

1 ответ

Предполагая ваш main-project имеет зависимости от sub-module-A а также sub-module-B and the parent has all projects as modules, ie

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>

Then, you can build the parent проект с

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

or using shortcuts for the options

mvn -pl :main-project -am install

With these options only the main-project and all its dependencies (which are somewhere in the parent's modules) are built.

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

Другие вопросы по тегам