이것은 두 가지 방법으로 해결됩니다. 첫째, B에 대한 POM은 A에 대해 < 종속성을 포함해야합니다. B가 빌드 될 때 A가 저장소에있는 한 올바른 버전을 가져옵니다.
A가 B보다 먼저 빌드되도록하려면 Maven reactor가이 종속성에 대해 알아야합니다. 이것은 < module> 요소가있는 다중 모듈 빌드에서 수행됩니다. 최상위 POM은 < 패키징> pom </packaging>로 설정되고 두 개의 < 모듈> 요소를 가지며, 하나는 A를위한 것이고 다른 하나는 B를위한 것입니다. 나열된 순서 또는 깊이가 중요하지 않습니다. 소스 프로젝트에서 도달 할 수 있으면 올바른 순서로 빌드됩니다.
B를 만들려하고 Maven 원자로가 A의 소스를 찾아서 확인하도록 할 방법이 없다는 것에 유의하십시오. 원자로는 항상 소스 프로젝트가 필요하며 A와 B는 모두 < module> 요소 그래프를 통해 찾아야합니다. 이는 B에 대한 빌드가 A에 대한 저장소 아티팩트가 최신인지 여부를 알 수 없기 때문에 A의 빌드를 실행하고 알아 내도록해야하기 때문입니다. 또한 이들을 동시에 수행하려면 여기에 설명 된 두 가지를 모두 포함하는 상위 프로젝트가 빌드되는 소스 프로젝트 여야합니다.
Maven이 이러한 종류의 다중 모듈 프로젝트의 경우 Ant보다 느리지는 않지만 Maven 프로젝트를 IDE로 가져 오면 일반적으로 Maven이 수행 할 수있는 빌드보다 훨씬 빠른 빌드가됩니다.
프로젝트를 빌드하기 위해 어떤 명령을 실행하고 있습니까? mvn 패키지? – jgifford25