In Maven 2 und 3 ist es immer auf 4.0.0 eingestellt, da es derzeit kein anderes Modell gibt.
Beachten Sie, dass modelVersion4.0.0 enthält. Dies ist derzeit die einzige unterstützte POM-Version und wird immer benötigt. [ Quelle ]
Aber es würde nicht unbedingt brauchen , um immer auf 4.0.0 gesetzt werden , wenn es eine andere Version des Modells ist. Ein POM muss einem Modell entsprechen. Nehmen wir an, Maven 4 wartet mit Modell 4.1 auf. Wenn Sie Ihren POM so schreiben, dass er 4.1 entspricht, ist er nicht mit Maven 3 und Modell 4.0.0 kompatibel.
Es ist als obligatorisch definiert, möglicherweise um ein bestimmtes XML-Modell durchzusetzen, falls neue Modelle definiert werden.
LOL meine App war auf Version 4 und ich habe einen Fehler beim Aktualisieren der Version auf 5 bekommen!
Chloe
7
Die Modellversion ist die Version des Projektdeskriptors, der Ihr POM entspricht. Es muss enthalten sein und ist gesetzt. Der Wert 4.0.0 zeigt nur an, dass es mit Maven 3 kompatibel ist.
modelVersion - enthält die Modellversion des POM. Maven 1.x verwendete ein Modell, das ein 3.0.0-Element als unmittelbares untergeordnetes Element der Wurzel enthielt. Maven 2.x / 3.x hat ein 4.0.0-Element verwendet.
version - enthält die Version des Projekts. Wenn dieses Attribut fehlt, muss das übergeordnete Element vorhanden sein und die Version wird vom übergeordneten Projekt geerbt.
Antworten:
In Maven 2 und 3 ist es immer auf 4.0.0 eingestellt, da es derzeit kein anderes Modell gibt.
Aber es würde nicht unbedingt brauchen , um immer auf 4.0.0 gesetzt werden , wenn es eine andere Version des Modells ist. Ein POM muss einem Modell entsprechen. Nehmen wir an, Maven 4 wartet mit Modell 4.1 auf. Wenn Sie Ihren POM so schreiben, dass er 4.1 entspricht, ist er nicht mit Maven 3 und Modell 4.0.0 kompatibel.
Es ist als obligatorisch definiert, möglicherweise um ein bestimmtes XML-Modell durchzusetzen, falls neue Modelle definiert werden.
quelle
Die Modellversion ist die Version des Projektdeskriptors, der Ihr POM entspricht. Es muss enthalten sein und ist gesetzt. Der Wert 4.0.0 zeigt nur an, dass es mit Maven 3 kompatibel ist.
quelle
Die richtige Antwort sollte die Kombination der Antworten von @Toumi und @Boj sein. Auch einen Blick auf https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0 für mehr Hintergrund dieser.
quelle
modelVersion - enthält die Modellversion des POM. Maven 1.x verwendete ein Modell, das ein 3.0.0-Element als unmittelbares untergeordnetes Element der Wurzel enthielt. Maven 2.x / 3.x hat ein 4.0.0-Element verwendet.
version - enthält die Version des Projekts. Wenn dieses Attribut fehlt, muss das übergeordnete Element vorhanden sein und die Version wird vom übergeordneten Projekt geerbt.
quelle