Make Maven Kind Poms haben die gleiche Versionsnummer als Eltern? [Duplikat]

8

Ich habe ein Maven-Projekt mit mehreren Modulen (Aggregatoren), das auch Eigenschaften vom übergeordneten Pom übernimmt. Also in meiner Eltern pom.xml habe ich das:

%Vor%

Ich möchte, dass alle untergeordneten Module die übergeordnete Versionsnummer 1.0.123 erben, aber das untergeordnete Element pom.xml erfordert, dass ich die Versionsnummer des übergeordneten Elements trotzdem fest codiere (ModuleA pom.xml-Beispiel):

%Vor%

Wie kann ich die Versionsnummer einfach in das Eltern-Pom schreiben und die Module erben lassen, ohne sie an mehreren Stellen zu aktualisieren? Bisher habe ich versucht, $ {project.version} und $ {project.parent.version} auszuprobieren und Maven scheint damit sehr unglücklich zu sein. Ich kann die Versionsreferenz auch nicht vollständig entfernen.

Hat jemand eine gute Antwort dafür?

    
user3120173 25.06.2014, 18:31
quelle

2 Antworten

5

Wenn Sie maven zum Verwalten der Versionen verwenden, ist es im Allgemeinen kein Problem, die übergeordnete Version in das Submodul pom zu schreiben. Wenn Sie das Maven Release-Plugin ausführen, aktualisiert es alle Versionen in allen Untermodulen für Sie.

UPDATE:

Wenn Sie selbst Versionen verwalten wollen, werden Sie wahrscheinlich ein bisschen Schmerzen haben. Ich bin ziemlich sicher, dass Sie die Versionsnummer in jedem Pom mindestens einmal angeben müssen. Sie können wahrscheinlich Dinge für sich selbst vereinfachen, indem Sie ein paar Skripte schreiben, die die rekursive Suche und ersetzen für Sie tun (anstatt es manuell zu tun).

Als ein bisschen Seitenkontext: Maven ist mit einer "besten (Maven) Art und Weise, Dinge zu tun" -Mentalität gebaut. Wenn Sie so vorgehen, neigen die Dinge dazu, wirklich einfach zu sein und wirklich zu funktionieren. Dinge anders zu machen ist oft möglich, aber je weiter man vom "besten Weg" kommt, desto schmerzhafter (oder unmöglicher) wird es sein.

    
jtahlborn 25.06.2014, 18:37
quelle
2

Ich denke das ist schon beantwortet @ Können Sie die Version von erben? die Eltern POM in Maven?

Ich habe versucht, die Lösung, es funktionierte für mich (mit Apache Maven 3.0.5). Aber es hat eine Einschränkung, dass, wenn wir direkt zu Child Pom und Build gehen, es die Versionsvariable nicht auflösen wird.

    
Sridivakar 24.06.2015 04:26
quelle

Tags und Links