Maven setzen nur geänderte Artefakte ein

Ich benutze Maven 2.2 mit Nexus 1.4.0

Nehmen wir an, ich habe eine solche Pom-Struktur (mit entsprechenden Versionen)

parentproj, v1.0.1
 - childproj1, v1.0.2
 - childproj2, v1.0.7

childproj1 und childproj2 stellen verschiedene Teile der Anwendung dar (z. B. gui und Backend), und ich möchte ihre Versionen getrennt halten, damit ich eine neue Version des Backends freigeben kann, ohne eine neue Version der Gui freigeben zu müssen.

Um diese Struktur in Nexus zu implementieren, ist es praktisch, zu parentproj zu gehen und zu sagen

mvn deploy -DperformRelease = true

Dadurch würden alle Artefakte im Nexus-Realease-Repository bereitgestellt. Dies funktioniert einwandfrei, wenn ich es zum ersten Mal bereitstelle, aber wenn ich zum zweiten Mal auf Probleme stoße: Nehmen wir an, ich habe ein Update für childproj1 durchgeführt, sodass wir jetzt die folgenden Versionen haben:

parentproj, v1.0.1
 - childproj1, v1.0.3
 - childproj2, v1.0.7

In dieser Situation lässt mich Nexus nicht von parentproj aus mvn bereitstellen, da es bereits eine Kopie von childproj2 in der Version 1.0.7 enthält. Nexus meldet "Ressource, unzulässige Anforderung: Repository mit ID = 'releases' erlaubt keine Aktualisierung von Artefakten." Das ist in Ordnung, ich möchte nicht versehentlich vorhandene Versionen aktualisieren.

Aber ich denke, was ich tun möchte, ist in der Lage zu sein, maven so etwas wie "nur die Artefakte bereitstellen, deren Versionen noch nicht im Release-Repository vorhanden sind" zu sagen.

Gibt es eine Möglichkeit, dies zu tun, oder muss ich jedes Projekt einzeln bereitstellen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage