34 votos

M2E: Versión duplicada de los padres de la versión - ¿por Qué es esto una advertencia?

Tengo varios proyectos Maven que cada uno tiene algunas funcionalidades comunes o al menos común de configuración/dependencias. He extraído este en común pom.xml y, a continuación, modularlized varias facetas, por ejemplo, la persistencia, la Spring dependencias relacionadas, y así sucesivamente - en sus propios módulos que se heredan de los padres esta POM.

Ahora, "Común" es la versión 1.0.0 y he "ProjectA" que deseo heredar de ella. Recibo el mensaje de error:

Versión duplicada de los padres de la versión

No entiendo por qué esto es una advertencia. Yo pensaba que tenía la opción de omitir la versión de mi proyecto POM para heredar la versión. (Yo hago esto por módulos comunes - por ejemplo, el común de la primavera añade más comunes de las dependencias para la Spring de aplicaciones, y de hecho, ProjectA en realidad hereda de común-primavera).

No es sólo eso - una opción? Si yo cambio mi ProjectA versión 1.0.1 o 2.0.0 todo está bien.

40voto

Fabricio Lemos Puntos 1165

Sólo m2e tratando de ser inteligente, porque la versión de elemento (como el id de grupo) a veces pueden ser redundantes y pueden ser heredadas de los padres POM, por lo que sería más seguro para eliminar este elemento de su hijo POM.

Pero a veces esto no es una información redundante, como cuando el padre y el hijo proyecto tienen diferentes ciclos de vida, y m2e debe permitir esta advertencia a discapacitados. Desafortunadamente, no hay manera de hacer esto pero: http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01961.html

ACTUALIZACIÓN: Como Duncan dice abajo, en las versiones más recientes puede desactivar esta advertencia.

30voto

Duncan Puntos 22780

Las versiones más recientes de m2e (desde 1.1) ahora permite desactivar esta advertencia.

Preferencias > Maven > Avisos > Desactivar "Versión duplicada de los padres de la versión de" advertencia

Original del informe de error: https://bugs.eclipse.org/bugs/show_bug.cgi?id=356796

1voto

DJDaveMark Puntos 309

Si realmente te molesta, utilizar una propiedad para suprimir la advertencia con un poco de astucia, juego de manos:

<version>${api.version}</version>
<properties>
    <api.version>0.0.1-SNAPSHOT</api.version>
</properties>

pero todo lo que realmente se está haciendo 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.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X