Jak rozwiązać „Wykonanie wtyczki nieobjęte konfiguracją cyklu życia” dla kompilacji Spring Data Maven

907

Próbuję współpracować z Spring Data i Neo4j . Zacząłem od podążenia za tym przewodnikiem, do którego prowadzi strona główna. W szczególności oparłem swój plik pom.xml na „Hello, World!” przykładowy plik . Oto wycinek z mojego pom.xml dla wtyczki, która powoduje problemy ...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

Błąd, który widzę to:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

Korzystam z Eclipse 3.6.2 i m2e 0.13. Nie jestem ekspertem od Maven, więc proszę o wyjaśnienia w swoich odpowiedziach, jeśli to możliwe.

Próbowałem również m2e 1.0.0 za pośrednictwem tej witryny aktualizacji i nadal pojawia się ten sam błąd.

Andrew White
źródło
1
Jakiej wersji maven używasz? Spring Data (Graph) użył maven2 do procesu kompilacji (głównie z powodu problemów z wtyczką docbook). (BTW. Wiosenne projekty danych zostaną wkrótce przeniesione do gradacji :)
Michael Hunger
1
Do zaćmienia używam zintegrowanego mav 3.0.3 (cokolwiek jest dostarczane z m2e). Czy cała wiosna przechodzi na grading, czy tylko Spring Data?
Andrew White
1
Zapomnij o tej pracy z Groovy. Co za koszmar. Nie mogę teraz nawet używać Indigo z powodu tej parodii.
Spencer Kormos
Czy ktoś może udostępnić link do miejsca, w którym udokumentowano ten nowy tryb działania M2E?
HDave

Odpowiedzi:

1336

W moim przypadku podobnego problemu, zamiast korzystać z sugestii Andrew dla poprawki, zadziałało to po tym, jak wprowadziłem znacznik <pluginManagement> do danego pom.xml. Wygląda na to, że ten błąd jest spowodowany brakującym znacznikiem <pluginManagement>. Tak więc, aby uniknąć wyjątków w Eclipse, wystarczy po prostu zawrzeć wszystkie znaczniki wtyczek wewnątrz tagu <pluginManagement> , tak jak poniżej :

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

Gdy ta struktura jest na miejscu, błąd znika.

Simeon Leyzerzon
źródło
29
Dla mnie też działa, ale czy ktoś może wyjaśnić, dlaczego?
Andrew Swan
89
@Andrew Myślę, że to działa, ponieważ m2e nie szuka wtyczek pluginManagement, ale tylko build/plugins. W świecie Maven istnieje różnica między nimi dwoma - ta pierwsza definiuje „jeśli zdarzy ci się użyć tej wtyczki, oto konfiguracja do użycia”, podczas gdy druga stwierdza „używaj tej wtyczki”. Zobacz ten post i dwie najważniejsze odpowiedzi.
GreenGiant
30
Zgadzam się z @GreenGiant. Wypróbowałem to rozwiązanie, ale następnie psuje kompilację, ponieważ wtyczka aspektu nie jest wywoływana przed kompilacją.
Pierre
25
Nie dotyczy mnie. Naprawia błąd w Eclipse, ale przerywa generowanie kodu WS za pomocą <goal> wsimport przy użyciu wtyczki jaxws-maven-plugin. „Trwale zaznacz cel wsimport w pom.xml jako ignorowany w kompilacji Eclipse” wydaje się dodawać więcej rzeczy w pom.xml i naprawia go dla m2e.
nephewtom
33
Errrr ... Wygląda na to, że to działa tylko dlatego, że wyłącza wszystkie omawiane wtyczki ..... Całkowite ich usunięcie również działałoby, ale zakładam, że są tam z jakiegoś powodu? Twórcy powinni upewnić się, że absolutnie rozumieją, co robią z maven przed użyciem tej „poprawki”.
Michael Haefele,
413

Co za bałagan. Nie pamiętam, gdzie to znalazłem, ale musiałem dodać następujące, aby M2Eclipse było szczęśliwe. Jeszcze bardziej smutne jest to, że nie jest łatwo zrozumieć, dlaczego ten tag jest potrzebny.

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

Było wiele innych problemów z wtyczką M2Eclipse, które po prostu nie działały z Spring Data. Na koniec wyłączyłem M2Eclipse na rzecz wtyczki Apache Eclipse .

Andrew White
źródło
3
Jakie repozytorium wtyczek obsługuje wtyczkę org.eclipse.m2e: lifecycle-mapping?
Nathan Feger
6
Jeśli twoje zaćmienie nie może znaleźć org.eclipse.m2e: lifecycle-mapping plugin, to dlatego, że umieściłeś powyższy fragment kodu na niewłaściwej liście wtyczek w pom, musi on przejść do pluginManagement
mkraemerx
65
Uwaga: m2e 1.x może to zrobić automatycznie, Quick Fix z widoku Problems
Brad Cupit
7
Dzięki: m2e zaoferowało mi „szybką poprawkę” dla wtyczki, której nie rozpoznała, która wygenerowała wszystkie powyższe, z wyjątkiem <ignore /> zamiast <execute />. Nie oferował opcji <execute />, która działa! Szalony!
laher
10
Tak, <zarządzanie wtyczką> przechodzi pod <buduj>. Można by pomyśleć, że strona m2 wspomniałaby o tym drobiazgu.
jjohn
217

W Eclipse Luna 4.4.0 możesz zignorować ten błąd w preferencjach

Okno > Preferencje > Maven > Błędy / ostrzeżenia > Wykonanie wtyczki nieobjęte konfiguracją cyklu życia . Wybierz Ignoruj ​​/ Ostrzeżenie / Błąd, jak chcesz.

Ponadto w szybkiej poprawce (Ctrl + 1) dla tego błędu daje opcję oznaczenia celu jako ignorowanego w kompilacji Eclipse w preferencjach Eclipse (eksperymentalna)

Jest to czystszy sposób, ponieważ nie modyfikuje twojego pom.xml.

Będziesz musiał wykonać projekt Maven > Aktualizuj, aby naprawić ten sam błąd w każdym innym projekcie.


W STS (Spring-tool-suite) możesz zignorować ten błąd w preferencjach

Okno> Preferencje> Maven> Błędy / ostrzeżenia> Wykonanie wtyczki nieobjęte konfiguracją cyklu życia. Wybierz Ignoruj ​​/ Ostrzeżenie / Błąd jako swoje życzenie. Następnie. Kliknij prawym przyciskiem myszy projekt, kliknij Maven i zaktualizuj projekt, a następnie błąd zniknie.

ShaKa
źródło
Doskonały. Pracował dla mnie bezbłędnie. Dzięki za udostępnienie.
Ajay Kumar
Użyłem go również w Eclipse 2020-03, nie jestem pewien, dlaczego błąd pojawił się tym razem, gdy zaimportowałem projekt, zrobiłem to co najmniej 4 razy na innych komputerach bez żadnego problemu. Jestem nowy w zaćmieniu Muszę powiedzieć, że wciąż rozumiem, w jaki sposób buduje rzeczy, które z nich i kiedy :-D
Funder
To jest właściwa odpowiedź. Dzięki. Korzystam z Red Hat CodeReady Studio, które jest narzędziem opartym na Eclipse.
Igor Vuković
Oszczędność dnia .. :) To rozwiązanie działało dla mnie.
Jeetendra
Jak to naprawić? Zamiast narzekać Eclipse, że nie generuje mojego kodu źródłowego (poprzez oznaczenie linii w POM.XML czerwonym X i komunikat o błędzie „Wykonanie wtyczki nieobjęte konfiguracją cyklu życia”), przy tej zmianie Eclipse po prostu cicho nie generuje mojego kod źródłowy.
mbmast
212

Sugerowane rozwiązanie z dokumentacji Eclipse m2e :

  1. Użyj szybkiej korekty błędu w pom.xml i wybierz Permanently mark goal run in pom.xml as ignored in Eclipse build- wygeneruje to wymagany kod płyty .

  2. Aby poinstruować Eclipse, aby uruchomił wtyczkę podczas kompilacji - po prostu zamień <ignore/>tag na <execute/>tag w wygenerowanej konfiguracji:

    <action>
        <execute/>
    </action>

    Alternatywnie możesz poinstruować Eclipse, aby uruchamiał wtyczkę również w kompilacjach przyrostowych:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
Vedran
źródło
6
Możesz także dodać <runOnIncremental>false|true</runOnIncremental>wewnątrz tagu wykonania, aby zaćmienie wywołało tę wtyczkę maven w przyrostowych kompilacjach.
Matthias B,
4
To rozwiązanie również działało dla mnie, ale nie było konieczne wykonanie kroku 2) proponowanego obejścia.
Valerio Schiavoni
7
Jeśli nie oznaczysz ich jako „uruchom”, kompilacja Eclipse nie uruchomi tych wykonań wtyczek, ale może również działać.
mrod
Zauważ, że możesz także dodać go globalnie do Eclipse za pomocą Permanently mark goal run in eclipse preferencesi zmienić <ignore> na <execute> w preferencjach Eclipse> Maven> Mapowanie cyklu życia> Otwórz metadane mapowania cyklu życia obszaru roboczego .
PhoneixS
2
Dziękuję, to jest właściwe rozwiązanie. Dodanie znacznika <pluginManagement> wyłącza tylko wtyczkę.
user3804769,
111

Zobacz https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .

Aby rozwiązać niektóre długotrwałe problemy, m2e 1.0 wymaga wyraźnych instrukcji, co zrobić ze wszystkimi wtyczkami Maven związanymi z „interesującymi” fazami cyklu życia projektu. Nazywamy te instrukcje „mapowaniem cyklu życia projektu” lub po prostu „mapowaniem cyklu życia”, ponieważ definiują one, w jaki sposób m2e mapuje informacje z pliku pom.xml projektu na konfigurację i zachowanie projektu obszaru roboczego Eclipse podczas budowania obszaru roboczego Eclipse.

Konfigurację mapowania cyklu życia kompilacji projektu można określić w projekcie pom.xml, udostępnionym przez wtyczki Eclipse, a także domyślną konfigurację niektórych powszechnie używanych wtyczek Maven dostarczanych z m2e. Nazywamy te „źródłami metadanych mapowania cyklu życia”. m2e utworzy znacznik błędu jak poniżej dla wszystkich wykonań wtyczek, które nie mają mapowania cyklu życia w żadnym ze źródeł metadanych mapowania.

Plugin execution not covered by lifecycle configuration:
org.apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

m2e dopasowuje wykonanie wtyczki do akcji przy użyciu kombinacji groupId wtyczki, artefaktu, zakresu wersji i celu. Istnieją trzy podstawowe działania, które m2e można poinstruować, aby wykonać wtyczkę - zignoruj , uruchom i do konfiguratora projektu .

Thomas Broyer
źródło
93
To jest wyjaśnienie problemu, a nie rozwiązanie, a przynajmniej nie jedno, z którym mogę wziąć i pracować.
Andrew White
53
Sam udzieliłeś odpowiedzi, którą można znaleźć na stronie, do której linkowałem. Jeśli ważniejsze jest, aby zrozumieć, co oznacza błąd (a następnie łatwo znaleźć sposób jego naprawy), niż ślepo kopiować / wklejać niektóre fragmenty. „Nauka bez sumienia jest tylko zgubą duszy”. (François Rabelais)
Thomas Broyer
22
Przepraszamy, ale zgadzam się z Andrew, użycie tej wtyczki jest o wiele bardziej skomplikowane, niż powinno być. Zaczynałem nową aplikację i najpierw pomyślałem, że problemem jest mój plik pow, ale kiedy próbuję pow, wiem, że powinien działać, zobaczyłem, że ten problem był spowodowany przez m2e. Przykro mi, ale myślę, że dobry plik pow powinien po prostu działać. Nikt nie wie wszystkiego o wszystkim, chcę tylko użyć tej wtyczki, nie chcę wiedzieć, jak to działa.
Nei
15
Muszę się zgodzić, że poszło w przeciwnym kierunku do manifestu Maven (że tak powiem). To sprawia, że ​​prosta rzecz jest tak złożona, że ​​nawet czytając o niej wszystko, nie mogę zmusić jej do działania przez pół czasu. Wolałbym raczej poradzić sobie z pewną dziwacznością maven niż z wtyczkami, które nie wiążą się z fazami cyklu życia, kiedy powinny. Jeśli jest to rozwiązanie tymczasowe, to dobrze ... ale napraw je, ponieważ teraz jest zepsute.
Brill Pappin,
13
To nie Maven się psuje. Kompilacje z pracy w wierszu poleceń. To wtyczka m2eclipse (zbudowana przez lud Eclipse) wyrzuca błąd. Myślę, że problem polega na tym, że Maven ma inny cykl życia kompilacji niż Eclipse, więc potrzebują wyraźnego mapowania. To wielka szkoda, ponieważ oznacza, że ​​najwyraźniej nigdy nie możesz używać POM w takiej postaci, w jakiej są. Zawsze musisz dodać to mapowanie ....
Stijn de Witt
30

m2e 0,13 wprowadza złącza m2e i m2e Market Place w celu rozszerzenia funkcji m2e. To jak stare repozytorium m2e-dodatków.

Dostęp do rynku m2e można uzyskać z poziomu preferencji: Preferencje> Maven> Odkrycie> Otwórz katalog . Zainstalowanie integracji WTP rozwiązało dla mnie większość problemów z wtyczkami.

noirbizarre
źródło
1
Nie widzę na liście „integracji WTP”. Czy korzystasz z katalogu innego niż domyślny?
Ed Staub,
Korzystam z domyślnego katalogu, ale masz rację: już go nie widzę.
noirbizarre
1
community.jboss.org/en/tools/blog/2011/06/23/… . Zobacz aktualizację 2, w każdym razie +1 dla wielkiego bałaganu
prusswan
2
od listopada 2011 r. m2e wtp można znaleźć w Eclipse Marketplace
stivlo
1
Działa, dodaj witrynę aktualizacji z tego
27

Zmień preferencje Maven dotyczące wykonywania wtyczek z błędu na zignoruj

kvm006
źródło
2
Naprawdę zdecydowanie zalecamy, aby była to nowa zaakceptowana odpowiedź. Wiele innych rozwiązań powstrzyma Maven przed całkowitym uruchomieniem wtyczki podczas określonego kroku kompilacji, co rzadko jest tym, czego chce użytkownik. Zazwyczaj jest to problem z konfiguracją, a nie rzeczywisty błąd. Domyślne ustawienie Eclipse powinno być Ostrzeżenie, a nie Błąd.
Nick Straguzzi
26

Uwaga: wersja 1.7.0 M2Eclipse (m2e) dostępna w dzisiejszym pociągu wydań Eclipse Neon obsługuje nową składnię do określania metadanych mapowania cyklu życia. W rezultacie taki plan (tak mówimy m2e, aby zignorował cel):

<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

można zastąpić pojedynczą linią w węźle wykonawczym wtyczki:

<?m2e ignore?>

wprowadź opis zdjęcia tutaj

Szczegółowe informacje można znaleźć w informacjach o wersji.

David
źródło
21

Jako dodatek do poprzednich odpowiedzi - znalazłem obejście, które właśnie odkryłem, jeśli nie możesz lub nie chcesz dodać całej tej płyty do swojego projektu POM. Jeśli spojrzysz w następującej lokalizacji:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

Powinieneś znaleźć plik o nazwie, w lifecycle-mapping-metadata.xmlktórym możesz dokonać tych samych zmian opisanych w innych odpowiedziach oraz w wykonaniu wtyczki M2E, których nie uwzględniono .

htompkins
źródło
6
Możesz także edytować WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlplik zamiast bawić się w słoiki. Więcej informacji można znaleźć pod Preferences > Maven > Lifecycle Mappings. Również wybranie opcji szybkiej naprawy "Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)"spowoduje dodanie wszystkich wymaganych zmian do powyższego pliku.
Nufail,
17

Miałem ten sam problem z Eclipse v3.7 (Indigo) i m2eclipse jak moja wtyczka Maven. Błąd można łatwo rozwiązać, wyraźnie zaznaczając fazę wykonania w definicji wtyczki. Więc moja pom wygląda następująco:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...
Kristiaan
źródło
10
  1. Przejdź do Pomoc> Zainstaluj nowe oprogramowanie ...
  2. Użyj tego repozytorium oprogramowania

    Upewnij się, że „Skontaktuj się ze wszystkimi stronami aktualizacji podczas instalacji, aby znaleźć wymagane oprogramowanie” jest zaznaczone.

  3. Zainstaluj AJDT m2e Configurator

Źródło: Aktualizacja integracji Maven dla SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

Powinno to automatycznie zainstalować ADJT, jeśli go nie masz, ale jeśli nie, zainstaluj najpierw AspectJ Development Tools (ADJT) z „Witryny aktualizacji Indigo” (zgodnie z wersją Eclipse).

Więcej informacji na stronie AspectJ Development Tools .

Hendy Irawan
źródło
próbowałem tego, ale dostałem błąd: Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found
Mahmoud Saleh,
Msaleh, spróbuj mojej poprawionej odpowiedzi
Hendy Irawan
9

Goto workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlnastępnie utworzyć lifecycle-mapping-metadata.xmlplik i wklej poniżej i przeładowanie konfiguracji jak poniżej

Jeśli korzystasz z Eclipse 4.2 i masz problemy z mapowaniem i nie wprowadzisz bałaganu do swojego, pom.xmlstwórz nowy plik, lifecycle-mapping-metadata.xmlskonfiguruj go Windows -> Preferences -> Lifecycle mapping (nie zapomnij naciśnij Odśwież metadane mapowania cyklu życia obszaru roboczego po każdej zmianie tego pliku!). Oto przykład oparty naeclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>
fatih tekin
źródło
9

Miałem ten sam problem z indygo i projektem, który musi generować źródła Java z XSD.
Mogę to naprawić, dostarczając brakujące mapowanie cyklu życia, jak opisano na tej stronie

Tillmann
źródło
8

Naprawiłem to po wpisie na blogu Aktualizacja integracji Maven dla SpringSource Tool Suite 2.8.0 .

Postępuj zgodnie z radą w części zatytułowanej „ Uch… moje projekty już nie budują ”. Nawet jeśli jest przeznaczony dla SpringSource Tool Suite, użyłem go do naprawy regularnej instalacji Eclipse. Nie musiałem modyfikować plików pom.

Chepech
źródło
1
Ostatni zasób, który należy przywrócić do starszej wersji m2e lub używanego IDE.
Chepech
5

Ten błąd występuje również w przypadku neonu z powodu braku złącza m2e. Rozwiązanie: najedź błędem i wybierz - Odkryj nowe złącza m2e.

Zainstaluje nowe złącze i to wszystko.

Tamer Awad
źródło
4

Używałem

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

i zmieniłem na

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

i błąd zniknął. Może nie jest zalecane wiązanie wykonania z fazą kompilacji testu, więc znalezienie innej fazy może być alternatywnym rozwiązaniem dla dodania konfiguracji zarządzania wtyczkami do cyklu życia maven.

Kok
źródło
4

Gdzie znaleźć WTP:

Najedź myszką na <plugin> w pom.xml i „Odkryj nowe złącza m2e”.

Zainstalowałem je wszystkie, które są domyślnie zaznaczone i działa.

siOnzee
źródło
4

Miałem dokładnie ten sam problem po aktualizacji m2e i rozwiązałem go, instalując ponownie Maven Integration dla Eclipse WTP.

Jak się okazuje, odinstalowałem go, próbując zaktualizować m2e z wersji 0.x do 1.x

Lisandro
źródło
3

Miałem dzisiaj ten problem. Korzystałem z STS 3.4 z dołączonym pakietem Roo 1.2.4. Później próbowałem z Eclipse Kepler i Roo 1.2.5, ten sam błąd.

Zmieniłem swój pom.xml dodając tag pluginTemplates po kompilacji i przed deklaracją wtyczek, ale nie działałem.

Co sprawiło, że magia była dla mnie:

  • Korzystanie z jdk 1.7.0_51
  • Pobrano Roo 1.2.5
  • Pobrano Maven 3.2.1 (jeśli nie, po wykonaniu polecenia „wykonaj zaćmienie” pojawia się błąd „error = 2, brak pliku lub katalogu”)
  • Skonfigurowałem katalogi bin JDK, Roo i Maven na mojej ŚCIEŻCE:

    eksport PATH = / opt / jdk1.7.0_51 / bin: $ PATH export PATH = / opt / spring-roo-1.2.5.RELEASE / bin: $ PATH export PATH = / opt / apache-maven-3.2.1 / bin : $ PATH

Dokonałem konfiguracji w następujący sposób: ( http://docs.spring.io/spring-roo/reference/html/beginning.html )

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform eclipse

Otwórz za pomocą Eclipse (nic z STS, ale chyba działa): Importuj -> Istniejące projekty do Workspace

Camposer
źródło
2

Napotkałem dokładnie ten sam problem z wtyczką maven thrift. Oto moje rozwiązanie, które nie wymaga zepsucia pliku pom.xml:

  1. Użyj narzędzia maven z wiersza poleceń

    mvn eclipse: eclipse

    stworzyć projekt zaćmienia

  2. Zaimportuj projekt w środowisku Eclipse. Pamiętaj, aby użyć

    Plik> Importuj> Ogólne> Istniejące projekty do obszaru roboczego

    aby dodać projekt do swojego obszaru roboczego.

To powinno rozwiązać problem.

PickBoy
źródło
2

Zamiast zepsuć plik pom, sugerowałbym, aby przejść do Pokaż widokMarkery w Eclipse, wybrać i usunąć markery odpowiednich błędów.

Bharath Lakshman
źródło
Grrr, nie cierpię wybierać między dwoma złami. Dodanie dziesiątek linii śmieci do pom = źle. Twoja droga = też zła, ponieważ ciągle się pojawia (za każdym razem, gdy zapisujesz pom) i muszę wszystkim powiedzieć, że to jest w porządku.
Iain
1

Jeśli używasz Eclipse Juno, może to być problem z Maven Integration For Eclipse WTP . Więc zainstaluj to samo z Eclipse Market Place.

W Pomocy Eclipse IDE >> Rynek Eclipse >> wpisz zapytanie wtp i pokaże integrację maven dla Eclipse WTP dla Juno, zainstaluj go i zaktualizuj zależności maven i ciesz się

Mohammed Irfan Tirupattur
źródło
1

Mam ten sam błąd. Po wykonaniu następujących czynności zniknął.

  1. Kliknij projekt prawym przyciskiem myszy.
  2. Wybierz Maven> Aktualizuj projekt ...
Lilylakshi
źródło
1

Ta odpowiedź jest tak samo dobra jak powyższa odpowiedź na temat zarządzania wtyczkami (to znaczy, jest okropna).

Wystarczy usunąć cały obraźliwy kod xml w pom.

Gotowy. Problem rozwiązany (z wyjątkiem tego, że właśnie złamałeś konfigurację maven ...).

Twórcy oprogramowania powinni bardzo uważać, aby zrozumieć tagi zarządzania wtyczkami przed wykonaniem któregokolwiek z tych rozwiązań. Losowe zarządzanie wtyczkami wokół wtyczek może zepsuć kompilację maven dla wszystkich innych, aby tylko zaćmienie mogło działać.

Michael Haefele
źródło
1

możesz ukryć ten błąd w zaćmieniu: Okno -> Preferencje -> Maven -> Błąd / Ostrzeżenia

Pankaj Rastogi
źródło
1

Wymiana pieniędzy

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

w

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

rozwiązał problem dla mnie.

nie obchodzi mnie to
źródło
1

Spotkałem to za pomocą Eclipse v4.3 (Kepler) i Maven 3.1.

Rozwiązaniem jest użycie JDK, a nie JRE dla twojego projektu Eclipse. Spróbuj maven cleanprzetestować z Eclipse, aby pobrać brakujące pliki JAR.

Yamato
źródło
1

Postępowałem zgodnie ze wskazówkami GUI, aby znaleźć dowolny łącznik, a następnie znalazłem AspectJ Integrator z zespołu SpringSource. Po instalacji zostało rozliczone.

deng hui
źródło
0

Dla mnie było to spowodowane klasami AspectJ. Nie mogłem znaleźć wtyczki w Discovery, która mogłaby pomóc. Naprawiłem to, kopiując pliki org.maven.ide.eclipse.ajdt, w folderze wtyczek i folderów funkcji, istniejącej instalacji STS.

Wiem, bardzo niegrzeczne podejście.

DevCat
źródło