Я рекомендую создать такую структуру:
+- root (pom.xml)
+--- common (pom.xml)
+--- projectA (pom.xml)
+--- projectB (pom.xml)
Корень содержит две записи модулей, например:
<modules>
<module>projectA</module>
<module>projectB</module>
<module>common</module>
</modules>
Каждый дочерний модуль должен содержать следующую родительскую запись (пример для общего модуля):
<parent>
<groupId>my.package</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>common</artifactId>
Кроме того, в projectA / projectB вы можете просто определить зависимость от common
, и теперь вы можете собрать все модули, включая ваши проекты, с помощью одной команды из корневого каталога:
mvn clean package
или если вы хотите запускать интеграционные тесты:
mvn clean verify
Нет необходимости делать install
...
Одна вещь стоит того, чтобыупомяните, что с этой настройкой вы должны использовать одну версию для всех общих, projectA, projectB и для root