У меня есть проект B, который зависит от проекта A.
В файле p pom.xml проекта B я объявил зависимость A как:
<dependency>
<groupId></groupId>
<artifactId>A</artifact>
<version>1</version>
<scope>compile</scope>
</dependency>
Но каждый раз, когда я вношу какие-либо изменения в проект A, мне нужно запустить maven install на eclipse, чтобы установить проект в мой пользовательский репозиторий.
Как я могу убедиться, что проект A построен и установлен до того, как проект B будет построен и запущен?
Используйте модуль с упаковкой = pom для управления всей сборкой. В другом проекте Eclipse, назовите его на верхнем уровне, введите этот pom:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId></groupId>
<artifactId>top-level</artifactId>
<version>1</version>
<packaging>pom</packaging>
<modules>
<module>../A</module>
<module>../B</module>
</modules>
</project>
Затем выполните ваши операции maven (чистые, установочные и т.д.) На этом pom. Maven выберет правильный порядок обработки модулей.
Одно предупреждение: Maven использует файловую систему для доступа к относительным местоположениям pom для A и B. Это работает только в том случае, если все три проекта находятся в одном корневом каталоге (корень рабочего пространства Eclipse, корневой каталог git repo и т.д.),