sirve repositorio que problemas para mvn integrar instalar dependencias con como comandos añadir actualizar eclipse maven spring-boot m2eclipse

repositorio - Maven-Suprimir la anulación de la advertencia de versión administrada en Eclipse



mvn eclipse eclipse para que sirve (4)

Estoy usando spring-boot y experimenté un error similar al descrito here . Agregué lo siguiente a mi pom.xml.

<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$--> <version>1.1.0.Final</version> </dependency>

Estoy anulando la dependencia de validación-api 1.0.0 definida en mi pom.xml principal, mediante Spring Boot, y esto da el mensaje de advertencia molesto:

Anulación de la versión administrada 1.0.0.GA para validación-api

¿Cómo puedo suprimir permanentemente este mensaje de advertencia en Eclipse? Se muestra tanto en mi pom.xml como en mi vista de problemas.


útil ! Resuelvo el problema. Como el archivo pom del módulo declara 9.2.12.M0 mientras que el arranque por resorte se refiere a la V9.3. Sobrescribo el V9.2 en el archivo pom principal. seguir por "Eric Wang"


Cuando aparezca esa advertencia, puede abrir el menú de Corrección rápida en la advertencia (Ctrl + 1) y seleccionar

Ignorar esta advertencia

Esto agregará el comentario en la línea de versión, como:

<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$--> </dependency>

Su problema es que usted agregó manualmente ese comentario en la línea incorrecta.


Dado que el proyecto está utilizando spring-boot , se puede encontrar una respuesta más adecuada aquí: https://.com/a/35385268/1568658

(Y dado que tengo el mismo problema, y ​​la respuesta anterior tampoco es muy completa. Agregaría una respuesta aquí).

Razón de la emisión:

spring-boot ha definido muchas dependencias y sus versiones, cuando usa spring-boot como padre, estas dependencias se heredaron, y al reemplazar una de las dependencias con una versión diferente obtendría la advertencia, ya que podría romper las dependencias de otras bibliotecas.

Solución:

Defina una propiedad para esa dependencia entre <properties></properties> , para especificar la versión.

p.ej

<properties> <reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version> </properties>

Cómo encontrar el nombre de la propiedad:

  • Abre tu pom.xml en eclipse.
  • ctrl + click en la etiqueta <parent> para abrir el pom del padre, y debe hacer clic dos veces recursivamente para finalmente llegar a pom con artifactId como spring-boot-dependencies
  • Una vez que haya abierto ese pom, busque su dependencia, por ejemplo, servlet-api , y podrá ver la versión predeterminada.

Hay un documento de Spring lo explica mejor: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot


Ingrese la versión que necesita en pom principal.

Esta advertencia significa que está intentando anular la versión de artefacto que se define en su pom principal (nivel superior). Simplemente ingrese la versión que necesita en pom principal y ni siquiera necesita usar <version /> en otros poms para esta dependencia.