He notado que Maven's <modelVersion></modelVersion>
of pom.xml siempre está configurado en 4.0.0.
¿Puede ayudarme a comprender cuál es la importancia de esta etiqueta y por qué debería establecerse en 4.0.0?
He notado que Maven's <modelVersion></modelVersion>
of pom.xml siempre está configurado en 4.0.0.
¿Puede ayudarme a comprender cuál es la importancia de esta etiqueta y por qué debería establecerse en 4.0.0?
Respuestas:
Siempre se establece en 4.0.0 en Maven 2 y 3, porque, en la actualidad, no hay otro modelo.
Tenga en cuenta que
modelVersion
contiene 4.0.0. Esa es actualmente la única versión de POM compatible y siempre es necesaria. [ fuente ]
Pero no necesariamente tendría que establecerse siempre en 4.0.0 si hubiera otra versión del modelo. Un POM tiene que cumplir con un modelo. Digamos que Maven 4 viene con el modelo 4.1. Si escribe su pom para cumplir con 4.1, no sería compatible con Maven 3 y el modelo 4.0.0.
Se define como obligatorio, posiblemente para hacer cumplir un modelo XML específico en caso de que se definan nuevos modelos.
La respuesta correcta debe ser la combinación de las respuestas de @Toumi y @Boj. También eche un vistazo a https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0 para obtener más información sobre esto.
modelVersion : contiene la versión del modelo del POM. Maven 1.x usó un modelo que contenía un elemento 3.0.0 como hijo inmediato de la raíz. Maven 2.x / 3.x ha utilizado un elemento 4.0.0.
versión : contiene la versión del proyecto. Si falta este atributo, el elemento principal debe estar presente y la versión se heredará del proyecto principal.