Seit ich auf Maven 3 aktualisiert habe, erhalte ich bei jedem Build die folgenden Warnmeldungen:
Wie kann ich diese Warnungen entfernen?
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for proj:id:jar:3.1
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 195, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 204, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 227, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 215, column 15
[WARNING] 'reporting.plugins.plugin.version' for org.codehaus.mojo:jdepend-maven-plugin is missing. @ line 271, column 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
maven
maven-plugin
maven-3
Istao
quelle
quelle
Antworten:
Fügen Sie
<version>
nach dem<plugin>
<artifactId>
in Ihrerpom.xml
Datei ein Element hinzu . Suchen Sie den folgenden Text:Fügen Sie das Versions-Tag hinzu:
Die Warnung sollte behoben sein.
Was das betrifft:
Viele Leute haben erwähnt, warum das Problem auftritt, schlagen aber keine Lösung vor. Alles, was ich tun musste, war, in meine POM-Datei für mein Projekt zu gehen und das
<version>
Tag wie oben gezeigt hinzuzufügen .Um die Versionsnummer zu ermitteln, können Sie nach Abschluss der Ausführung in Mavens Ausgabe nachsehen. Wenn Sie Versionsnummern vermissen, zeigt Maven seine Standardversion an:
Nehmen Sie diese Versionsnummer (wie
2.3.2
oben) und fügen Sie sie wie gezeigt zu Ihrem POM hinzu.quelle
Laufen Sie wie:
für Plug-Ins, die keine Version haben. Sie erhalten Ausgabe:
Verwenden Sie die in der Ausgabe gezeigte Version.
UPDATE Wenn Sie aus einer Liste von Versionen auswählen möchten, verwenden Sie http://search.maven.org/ oder http://mvnrepository.com/. Beachten Sie, dass Ihre bevorzugte Java-IDE über ein Dialogfeld zur Suche nach Maven-Paketen verfügen muss . Überprüfen Sie einfach die Dokumente.
SUPER UPDATE Ich benutze auch:
Kürzlich habe ich herausgefunden, wie man die neueste Version für das Plug-In (oder die Bibliothek) erhält, sodass ich nicht mehr googeln oder Maven Central besuchen muss :
quelle
mvn help:describe -Dplugin=groupId:artifactId
Maven 3 ist mit der POM-Struktur restriktiver. Sie müssen beispielsweise Versionen von Plugins festlegen.
Mit Maven 3.1 können diese Warnungen Ihren Build beschädigen. Es gibt weitere Änderungen zwischen maven2 und maven3: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes
quelle
Die neuesten Versionsinformationen erhalten Sie von:
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin
Klicken Sie auf die neueste Version (oder die Version, die Sie verwenden möchten) und Sie sehen die Abhängigkeitsinformationen (Stand 2019-05 ist es 3.8.1):
Möglicherweise möchten Sie das Versions-Tag und den Kommentar für Ihr Plugin-Tag verwenden.
Wenn Sie möchten, können Sie Ihren POM so ändern, dass die Versionsinformationen im Eigenschaften-Tag angezeigt werden, wie in einer anderen Antwort beschrieben.
quelle
Ich verwende einen übergeordneten POM für meine Projekte und wollte die Versionen an einer Stelle angeben. Daher habe ich Eigenschaften verwendet, um die Version anzugeben:
Eltern Pom:
Projekt pom:
Siehe auch: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/
quelle
Es ist eine großartige Antwort hier. Und ich möchte hinzufügen, warum ein Element in Maven3 hinzugefügt wird.
In Maven 3.x Kompatibilitätshinweise
Und ich finde auch im Maven-Compiler-Plugin - Verwendung
quelle
Suchen Sie in pom.xml nach "maven-jar-plugin" und fügen Sie das Versions-Tag maven version hinzu
quelle