eclipse - titles - pierce the heaven elsword
M2E: La versión está duplicada de la versión principal. ¿Por qué es esto una advertencia? (3)
Intenta ser inteligente porque el elemento de la versión (como ID de grupo) a veces puede ser redundante y puede heredarse del POM principal, por lo que sería seguro eliminar este elemento de su POM hijo.
Pero a veces esta no es una información redundante, como cuando el proyecto principal y el proyecto hijo tienen diferentes ciclos de vida, y m2e debería permitir que esta advertencia se deshabilite. Desafortunadamente, no hay forma de hacer esto todavía: http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01961.html
ACTUALIZACIÓN: Como dice Duncan a continuación, en las versiones más recientes puede desactivar esta advertencia.
Tengo varios proyectos Maven que tienen alguna funcionalidad común o al menos configuraciones / dependencias comunes. Extraje esto en un pom.xml común, y luego modularé varias facetas, por ejemplo, persistencia, dependencias relacionadas con Spring, etc., todas en sus propios módulos que heredan de este POM principal.
En este momento, "Common" es la versión 1.0.0 y tengo "ProjectA" que deseo heredar de ella. Recibo la advertencia:
La versión es duplicada de la versión principal
No entiendo completamente por qué esto es una advertencia. Pensé que tenía la opción de omitir la versión de mi proyecto POM para heredar la versión. (Hago esto para los módulos comunes; por ejemplo, common-spring agrega dependencias comunes adicionales para las aplicaciones de Spring, y de hecho, ProjectA realmente hereda de common-spring).
¿No es solo eso, una opción? Si cambio mi versión de ProjectA a 1.0.1 o 2.0.0 todo está bien.
Las versiones más nuevas de m2e (desde 1.1) ahora le permiten desactivar esta advertencia.
Preferencias> Maven> Advertencias> Deshabilitar la advertencia "La versión es duplicada de la versión principal"
Informe de error original: https://bugs.eclipse.org/bugs/show_bug.cgi?id=356796
Si realmente te molesta, usa una propiedad para suprimir la advertencia con un juego de manos astuto:
<version>${api.version}</version>
<properties>
<api.version>0.0.1-SNAPSHOT</api.version>
</properties>
pero todo lo que realmente harás es mover la advertencia a la salida de la consola:
[WARNING] Some problems were encountered while building the effective model for [project]
[WARNING] ''version'' contains an expression but should be a constant.