Mam dość prosty projekt Mavena:
<project>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Jednak w m2eclipse pojawia się następujący błąd:
Description Resource Path Location Type
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. pom.xml /jasperreports-test line 60 Maven Project Build Lifecycle Mapping Problem
Dlaczego obchodzi mnie, że m2eclipse nie „obsługuje” tego zadania? Maven robi i to wszystko, na czym naprawdę mi zależy. Jak mogę usunąć ten błąd z mojego projektu?
Odpowiedzi:
Wydaje się, że jest to znany problem. Możesz poinstruować m2e, aby to zignorował.
Opcja 1: pom.xml
Dodaj następujące elementy wewnątrz
<build/>
tagu:Będziesz musiał zrobić Maven ... -> Zaktualizuj konfigurację projektu w swoim projekcie po tym.
Czytaj więcej: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#m2e_maven_plugin_coverage_status
Opcja 2: nadpisanie globalnego zaćmienia
Aby uniknąć zmiany plików POM, zastąpienie ignorowania można zastosować do całego obszaru roboczego za pomocą ustawień Eclipse.
Zapisz ten plik gdzieś na dysku: https://gist.github.com/maksimov/8906462
W
Eclipse/Preferences/Maven/Lifecycle Mappings
przejdź do tego pliku i kliknij OK:źródło
Jest to problem występujący w M2E dla wtyczki Eclipse M2E, którego nie omówiono .
Aby rozwiązać ten problem, wszystko, co musisz zrobić, to zmapować cykl życia, którego nie rozpoznaje, i poinstruować M2E, aby go wykonała.
Powinieneś dodać to po swoim
plugins
, wewnątrzbuild
. Spowoduje to usunięcie błędu i zrobić M2E rozpoznać celcopy-depencies
zmaven-dependency-plugin
i uczynić pracę POM jak oczekiwano, kopiowanie zależności do folderu za każdym razem zaćmienie zbudować. Jeśli chcesz po prostu zignorować błąd, zmień<execute />
na<ignore />
. Nie ma potrzeby zamykania sięmaven-dependency-plugin
wpluginManagement
, jak sugerowano wcześniej.źródło
<plugins>
do<pluginManagement>
jednego, to właściwie powinno się<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId>
tam przenieść . Ale chodzi o to<groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId>
, co należy zamknąć<pluginManagement>
. Podczas korzystania z Szybkiej poprawki w Eclipse, to samo jest dodawane powyżej zwykłego<plugins>
i wydaje się, że lokalizacja też działa dobrze. Kluczem jest więc zmiana<ignore>
w<execute>
. Miły.plugins
Wewnątrzbuild
można dodać tego wcześniej.Jeśli zależności kopiowania, rozpakowywania, pakowania itp. Są ważne dla twojego projektu, nie powinieneś ich ignorować. Trzeba załączyć
<plugins>
w<pluginManagement>
przetestowane z Eclipse Indigo SR1, Maven 2.2.1źródło
<execute />
zamiast tego<ignore />
? Dzięki!<plugin>
do,<pluginManagement>
ale wciąż odwoływanie się do niego, aby wykonać swoją pracę, nadal daje mi to samo ostrzeżenie.<pluginManagement>
tego nadal muszę dodać „zwykłą” 2 linię<build><plugins><plugin>...
, odnosząc się do tej skonfigurowanej w programie<pluginManagement>
, prawda? (Nadal widzę, jak Juno narzeka na to samo, gdy jest w<pluginManagement>
plugins
tag dopluginManagement
. Ale spójrz na odpowiedź, którą podałem poniżej, stackoverflow.com/a/12109018/179138 . Sugerowany ignoruje wykonanie, ale nie uruchamiaj wtyczki na Eclipse.Aby to zadziałało, zamiast go ignorować, możesz zainstalować złącze m2e dla wtyczki maven-dependency-plugin:
https://github.com/ianbrandt/m2e-maven-dependency-plugin
Oto, jak byś to zrobił w Eclipse:
źródło
pom.xml
po zainstalowaniu wtyczki dokonać niewielkiej edycji pliku, w przeciwnym razie błąd może nie zniknąć.Pomimo odpowiedzi udzielonej przez CaioToOn powyżej, początkowo nadal miałem problemy z uruchomieniem tego.
Po wielu próbach w końcu udało się. Wklejam tutaj moją ostateczną wersję - mam nadzieję, że przyniesie to korzyści komuś innemu.
źródło
Miałem ten sam problem, próbując załadować projekt Hadoop w zaćmieniu. Wypróbowałem powyższe rozwiązania i wydaje mi się, że zadziałało to w Eclipse Kepler ... nie jestem już nawet pewien (próbowałem zbyt wielu rzeczy).
Ze wszystkimi problemami, które miałem, zdecydowałem się przejść do Eclipse Luna i powyższe rozwiązania nie zadziałały.
Był inny post, który zalecał zmianę tagu ... na pakiet. Zacząłem to robić, a to by „wyczyściło” błędy… Zaczynam jednak myśleć, że zmiany ugryzą mnie później - nie jestem ekspertem od Mavena.
Na szczęście dowiedziałem się, jak usunąć wszystkie błędy. Idź do Okno-> Preferencje-> Maven-> Błąd / Ostrzeżenia i zmień opcję „Wykonanie wtyczki nie jest objęte cyklem życia ...” na „Ignoruj”. Mam nadzieję, że to pomoże.
źródło
Wiem, że to stary post, ale dzisiaj też zmagałem się z tym problemem i użyłem szablonu z tej strony: http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
i wszystko działa dobrze pod
m2e
1.3.1.Kiedy próbowałem użyć
Mam też
m2e
błąd.źródło
lifecycle-mapping
wtyczki Maven, aby poinstruować m2e, jak radzić sobie z nieobsługiwaną wtyczką (tutajmaven-dependency-plugin
)Inną opcją jest przejście do zakładki problemów, kliknięcie prawym przyciskiem myszy błędu i kliknięcie Zastosuj szybką naprawę. Powinien wygenerować ignorowany kod xml i zastosować go do pliku .pom.
źródło