Почему бы вам не попробовать создать агрегатный родительский проект?
Похоже, у вас следующая структура:
someDirectory
+- projectA
+- pom.xml
+- projectB
+- pom.xml
+- projectC
+- pom.xml
Просто создайте pom.xml
в корневом каталоге (someDirectory
в моем примере) и определите список модулей, которые являются projectA
, projectB
и projectC
. Этот пом будет выглядеть так:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>my.company</groupId>
<artifactId>my-aggregation-project</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>projectA</module>
<module>projectB</module>
<module>projectC</module>
</modules>
</project>
Примечания:
- Не забудьте установить
<packaging>pom</packaging>
, так как это не «настоящий» Java-проект.
- Имя
module
должно совпадать с именем каталога, в котором размещен субмодуль.
Теперь, выполнив это, при запуске команды Maven в корневом каталоге Maven автоматически запустит эту команду на всех модулях. Так что, если вы просто запустите mvn clean install
в корневом каталоге, он запустит эту команду в ваших трех модулях.
Важное примечание: Я говорю здесь о функции агрегации в Maven. Не наследование . Это означает, что не требуется, чтобы каждый модуль имел корневой проект в качестве родительского.