Сборка родственных проектов при запуске 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.