Ich benutze spring-boot
, und es ist ein Fehler ähnlich dem beschriebenen aufgetreten hier . Ich habe die folgende Datei zu meiner pom.xml hinzugefügt.
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
<version>1.1.0.Final</version>
</dependency>
Ich überschreibe die in meiner übergeordneten Datei "pom.xml" definierte Abhängigkeit von "validation-api 1.0.0" durch "Spring Boot" und dies gibt die lästige Warnmeldung aus:
Überschreiben der verwalteten Version 1.0.0.GA für die Validierungs-API
Wie kann ich diese Warnmeldung in Eclipse dauerhaft unterdrücken? Es wird sowohl in meiner pom.xml- als auch in meiner Problemansicht angezeigt.
Wenn diese Warnung angezeigt wird, können Sie das Quick-Fix-Menü für die Warnung öffnen (Strg + 1) und auswählen
Ignorieren Sie diese Warnung
Dies fügt den Kommentar in die Versionszeile ein, wie:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$-->
</dependency>
Ihr Problem ist, dass Sie diesen Kommentar manuell in die falsche Zeile eingefügt haben.
Da das Projekt spring-boot
Verwendet, finden Sie hier eine genauere Antwort: https://stackoverflow.com/a/35385268/1568658
(Und da ich das gleiche Problem habe und die obige Antwort auch nicht sehr vollständig ist. Ich würde hier eine Antwort hinzufügen.)
Grund der Ausgabe:
spring-boot
Hat viele Abhängigkeiten und ihre Versionen definiert. Wenn Sie spring-boot
Als übergeordnetes Element verwenden, wurden diese Abhängigkeiten vererbt. Wenn Sie eine der Abhängigkeiten mit einer anderen Version überschreiben, wird die Warnung angezeigt, da sie möglicherweise beschädigt wird Abhängigkeiten anderer Bibliotheken.
Lösung:
Definieren Sie eine Eigenschaft für diese Abhängigkeit zwischen <properties></properties>
, Um die Version anzugeben.
z.B
<properties>
<reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
</properties>
So finden Sie den Namen der Immobilie:
ctrl + click
Auf dem <parent>
- Tag, um pom des übergeordneten Elements zu öffnen, und müssen zweimal rekursiv klicken, um schließlich mit artifactId als spring-boot-dependencies
Zu pom zu gelangen.servlet-api
, Und Sie können die Standardversion sehen.Es gibt ein Dokument aus dem Frühjahr, das es besser erklärt: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot
Geben Sie die Version ein, die Sie im Hauptfenster benötigen.
Diese Warnung bedeutet, dass Sie versuchen, die Artefaktversion zu überschreiben, die in Ihrem Haupt-POM (oberste Ebene) definiert ist. Gib einfach die Version ein, die du in main pom brauchst und du brauchst nicht einmal <version />
in anderen poms für diese Abhängigkeit.