J'utilise spring-boot
, et a rencontré une erreur similaire à celle décrite ici . J'ai ajouté ce qui suit à mon pom.xml.
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
<version>1.1.0.Final</version>
</dependency>
Je remplace la dépendance validation-api 1.0.0 définie dans mon parent pom.xml, au moyen du démarrage de Spring, ce qui donne le message d'avertissement embêtant:
Remplacement de la version gérée 1.0.0.GA pour validation-api
Comment puis-je supprimer définitivement ce message d'avertissement dans Eclipse? Cela apparaît à la fois dans mon pom.xml et dans ma vue des problèmes.
Lorsque cet avertissement s’affiche, vous pouvez ouvrir le menu Correction rapide de l’avertissement (Ctrl + 1) et sélectionner
Ignorer cet avertissement
Cela ajoutera le commentaire sur la ligne de version, comme:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$-->
</dependency>
Votre problème est que vous avez ajouté manuellement ce commentaire sur la mauvaise ligne.
Puisque le projet utilise spring-boot
, une réponse plus appropriée pourrait être trouvée ici: https://stackoverflow.com/a/35385268/1568658
(Et depuis que j'ai le même problème, et la réponse ci-dessus n'est pas très complète. J'ajouterais une réponse ici.)
Raison de l'émission:
spring-boot
a défini de nombreuses dépendances et leurs versions, lorsque vous utilisez spring-boot
en tant que parent, ces dépendances ont été héritées et le remplacement de l'une des dépendances par une version différente provoquerait l'avertissement, car cela risquerait de rompre les dépendances d'autres bibliothèques.
Solution:
Définissez une propriété pour cette dépendance entre <properties></properties>
, pour spécifier la version.
par exemple
<properties>
<reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
</properties>
Comment trouver le nom de la propriété:
ctrl + click
sur le <parent>
balise pour ouvrir le pompon du parent et il faut cliquer deux fois de manière récursive pour arriver à pom avec artifactId en tant que spring-boot-dependencies
servlet-api
, et vous pouvez voir la version par défaut.Il existe un document de printemps l'explique mieux: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot
Entrez la version dont vous avez besoin dans le pom principal.
Cet avertissement signifie que vous essayez de remplacer la version d'artefact définie dans votre pom principal (niveau supérieur). Il suffit d'entrer la version dont vous avez besoin dans pom principal et vous n'avez même pas besoin d'utiliser <version />
dans d'autres poms pour cette dépendance.