Dies wird auf zwei Arten gelöst. Zuerst muss das POM für B die <-Abhängigkeit> für A einschließen. Solange sich A im Repository befindet, wenn B erstellt wird, erhält es die richtige Version.
Um sicherzustellen, dass A vor B gebaut wird, muss der Maven-Reaktor über diese Abhängigkeit Bescheid wissen. Dies geschieht in einem Multimodul-Build mit < Modulelementen. Das Top-Level-POM ist für < Packaging> Pom </Packaging> und es würde zwei < Modul> Elemente, eins für A und eins für B. Es ist egal, welche Reihenfolge sie aufgeführt sind oder wie tief, wenn sie Sind sie vom Quellprojekt erreichbar, werden sie in der richtigen Reihenfolge erstellt.
Beachten Sie, dass es keine Möglichkeit gibt, B zu bauen und den Maven-Reaktor die Quelle für A finden und überprüfen zu lassen. Der Reaktor benötigt immer ein Quellenprojekt, und sowohl A als auch B müssen durch den Graph von < Modulelementen gefunden werden. Das liegt daran, dass das Build für B nicht erkennen kann, ob das Repository-Artefakt für A aktuell ist, es muss A's Build laufen lassen und es herausfinden lassen. Und damit sie dies gleichzeitig tun können, muss ein Elternprojekt, das beide wie hier beschrieben enthält, das Quellprojekt sein, das erstellt wird.
Beachten Sie auch, dass Maven für solche Projekte mit mehreren Modulen nicht langsamer als Ant ist. Wenn Sie Ihr Maven-Projekt in eine IDE importieren, führt dies im Allgemeinen zu wesentlich schnelleren Builds als Maven.
Welche Befehle führen Sie aus, um Ihr Projekt zu erstellen? MVN-Paket? – jgifford25