J'ai remarqué que Maven <modelVersion></modelVersion>
de pom.xml est toujours réglé sur 4.0.0.
Pouvez-vous s'il vous plaît m'aider à comprendre quelle est l'importance de cette balise et pourquoi elle doit être définie sur 4.0.0?
J'ai remarqué que Maven <modelVersion></modelVersion>
de pom.xml est toujours réglé sur 4.0.0.
Pouvez-vous s'il vous plaît m'aider à comprendre quelle est l'importance de cette balise et pourquoi elle doit être définie sur 4.0.0?
Réponses:
Il est toujours défini sur 4.0.0 dans Maven 2 et 3, car, à l'heure actuelle, il n'y a pas d'autre modèle.
Notez que
modelVersion
contient 4.0.0. Il s'agit actuellement de la seule version POM prise en charge, et elle est toujours requise. [ source ]
Mais il ne serait pas nécessairement nécessaire de toujours le définir sur 4.0.0 s'il existait une autre version du modèle. Un POM doit se conformer à un modèle. Disons que Maven 4 propose le modèle 4.1. Si vous écrivez votre pom pour se conformer à 4.1, il ne serait pas compatible avec Maven 3 et le modèle 4.0.0.
Il est défini comme obligatoire, éventuellement pour appliquer un modèle XML spécifique au cas où de nouveaux modèles seraient définis.
La bonne réponse doit être la combinaison des réponses de @Toumi et @Boj. Consultez également https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0 pour plus d'informations à ce sujet.
modelVersion - contenant la version modèle du POM. Maven 1.x a utilisé un modèle contenant un élément 3.0.0 en tant qu'enfant immédiat de la racine. Maven 2.x / 3.x a utilisé un élément 4.0.0.
version - contenant la version du projet. Si cet attribut est manquant, l'élément parent doit être présent et la version sera héritée du projet parent.