¿Por qué modelVersion de pom.xml es necesaria y siempre se establece en 4.0.0?


94

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?


Bienvenido a stackoverflow. Deberías leer esto: stackoverflow.com/questions/how-to-ask - Además, ¿podrías ser un poco más específico?
Zeveso

8
lo siento, pero Wlll lo entendió muy bien. gracias por su ayuda
mahesh

Respuestas:


86

Siempre se establece en 4.0.0 en Maven 2 y 3, porque, en la actualidad, no hay otro modelo.

Tenga en cuenta que modelVersioncontiene 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.


¡LOL, mi aplicación estaba en la versión 4 y recibí un error al actualizar la versión a 5!
Chloe

8

La versión del modelo es la versión del descriptor de proyecto a la que se ajusta su POM. Debe incluirse y está configurado. El valor 4.0.0 acaba de indicar que es compatible con Maven 3.



2

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.