Od czasu aktualizacji do Maven 3 przy każdej kompilacji otrzymuję następujące komunikaty ostrzegawcze:
Jak mogę pozbyć się tych ostrzeżeń?
[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
źródło
źródło
Odpowiedzi:
Dodaj
<version>
element po<plugin>
<artifactId>
wpom.xml
pliku. Znajdź następujący tekst:Dodaj do niego tag wersji:
Ostrzeżenie powinno zostać rozwiązane.
Odnośnie tego:
Wiele osób wspomniało, dlaczego tak się dzieje, ale nie sugeruje rozwiązania. Wszystko, co musiałem zrobić, to wejść do pliku POM dla mojego projektu i dodać
<version>
tag, jak pokazano powyżej.Aby odkryć numer wersji, jednym ze sposobów jest sprawdzenie danych wyjściowych Mavena po zakończeniu działania. W przypadku braku numerów wersji Maven wyświetli domyślną wersję:
Weź ten numer wersji (jak
2.3.2
wyżej) i dodaj go do POM, jak pokazano.źródło
Działaj jak:
dla wtyczek, które nie mają wersji. Otrzymasz wynik:
Użyj wersji pokazanej w danych wyjściowych.
AKTUALIZACJA Jeśli chcesz wybrać spośród listy wersji, użyj http://search.maven.org/ lub http://mvnrepository.com/ Uwaga: twoje ulubione Java IDE musi mieć okno wyszukiwania pakietów Maven . Po prostu sprawdź dokumenty.
SUPER AKTUALIZACJA Używam również:
Ostatnio odkryłem, jak uzyskać najnowszą wersję wtyczki (lub biblioteki), więc nie muszę już googlować ani odwiedzać Maven Central :
źródło
mvn help:describe -Dplugin=groupId:artifactId
Maven 3 jest bardziej restrykcyjny dzięki strukturze POM. Na przykład musisz ustawić wersje wtyczek.
W Maven 3.1 te ostrzeżenia mogą przerwać twoją kompilację. Istnieje więcej zmian między maven2 i maven3: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes
źródło
uzyskaj informacje o najnowszej wersji od:
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin
kliknij najnowszą wersję (lub tę, której chcesz użyć), a zobaczysz informacje o zależnościach (od 2019-05 to 3.8.1):
możesz użyć tagu wersji i komentarza do tagu wtyczki.
jeśli chcesz, możesz zmodyfikować swój pom, aby informacje o wersji były w tagu właściwości zgodnie z inną odpowiedzią.
źródło
Używam nadrzędnego pom dla moich projektów i chciałem określić wersje w jednym miejscu, więc użyłem właściwości do określenia wersji:
rodzic pom:
projekt pom:
Zobacz także: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/
źródło
Świetna odpowiedź tutaj. I chcę dodać „Dlaczego warto dodać element w Maven3”.
W Maven 3.x Uwagi dotyczące kompatybilności
I znajduję też w maven-compiler-plugin - użycie
źródło
Wyszukaj „maven-jar-plugin” w pom.xml i dodaj tag wersji wersja maven
źródło