Wenn Sie Maven2 als Build-System für ein Projekt verwenden, das viele Artefakte mit derselben Versionsnummer enthält, haben Sie die Version des resultierenden Builds in pom.xml verteilt. In vielen von ihnen sogar zweimal - in der Version des Artefakts selbst und in der Version des Elternteils. Daher müssen Sie alle Versionen von pom.xml auf jedem Versions-Switch ändern und einchecken. Das ist etwas nervig, besonders wenn man mehrere Bugfixes und eine Entwicklungsversion parallel programmieren muss. Gibt es einen Weg dahin?Hierarchie von Maven-Projekten ohne Streuung der Versionsnummer
CLARIFICATION: Meine Frage bezieht sich auf die vielen Versionen jeder einzelnen pom.xml, die Sie im Laufe der Zeit in Ihrem Quellcodeverwaltungssystem erhalten, die sich nur durch die Versionsnummer der Pom und/oder der Versionsnummer des Elternpom unterscheiden. Idealerweise sollten Sie den Pom nur ändern müssen, wenn Sie eine Abhängigkeit oder etwas hinzufügen.
Zum Beispiel hast du ein Projekt mit den Artefakten foo-pom (das Eltern-Pom zu allen), Foobar-jar, foobaz-jar und foo-war. In der ersten Version ist die Version 1.0 - die in jeder pom.xml erscheint. In der zweiten Version ist die Version 1.1 - die wiederum in jeder pom.xml erscheint. Du musst also jede pom.xml ändern - das nervt, wenn du so oft veröffentlichst wie du solltest.
AKTUALISIERUNG: Wenn Sie das für wichtig halten: die Angabe der Elternversion wird nicht in Erwägung gezogen. Bitte gehen Sie auf die maven JIRA issue und stimmen Sie dafür ab, damit es besser bemerkt wird und eher als Erweiterung in einer kommenden Version hinzugefügt wird. Sie müssen dafür ein JIRA-Login erstellen/haben.
Es gibt another Stackoverflow Question, die im Grunde über das gleiche Problem ist.
Das ist das Muster, das wir auch verwenden - mit Ausnahme des Release-Plugins. Ich habe mich gefragt, ob Sie irgendwie vermeiden können, die Elternversion in jede pom.xml zu schreiben. Aber es scheint, dass Sie mit den vielen Versionen der Pom in der Quellcodeverwaltung leben müssen, die sich nur durch die Elternversion unterscheiden. –
Ich denke, dass dieser Ansatz mit Maven Version Plug-in ergänzt werden kann: http://mojo.codehaus.org/versions-maven-plugin Es kann automatisch das parent.version-Tag in untergeordneten Projekten erhöhen; Siehe Versionen: update-child-modules goal. – Dan