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.
eclipse
maven
spring-data
m2eclipse
Andrew White
źródło
źródło
Odpowiedzi:
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 :
Gdy ta struktura jest na miejscu, błąd znika.
źródło
pluginManagement
, ale tylkobuild/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.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.
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 .
źródło
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.
źródło
Sugerowane rozwiązanie z dokumentacji Eclipse m2e :
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 .Aby poinstruować Eclipse, aby uruchomił wtyczkę podczas kompilacji - po prostu zamień
<ignore/>
tag na<execute/>
tag w wygenerowanej konfiguracji:Alternatywnie możesz poinstruować Eclipse, aby uruchamiał wtyczkę również w kompilacjach przyrostowych:
źródło
<runOnIncremental>false|true</runOnIncremental>
wewnątrz tagu wykonania, aby zaćmienie wywołało tę wtyczkę maven w przyrostowych kompilacjach.Permanently mark goal run in eclipse preferences
i zmienić <ignore> na <execute> w preferencjach Eclipse> Maven> Mapowanie cyklu życia> Otwórz metadane mapowania cyklu życia obszaru roboczego .Zobacz https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
źródło
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.
źródło
Zmień preferencje Maven dotyczące wykonywania wtyczek z błędu na zignoruj
źródło
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):
można zastąpić pojedynczą linią w węźle wykonawczym wtyczki:
Szczegółowe informacje można znaleźć w informacjach o wersji.
źródło
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:
Powinieneś znaleźć plik o nazwie, w
lifecycle-mapping-metadata.xml
którym możesz dokonać tych samych zmian opisanych w innych odpowiedziach oraz w wykonaniu wtyczki M2E, których nie uwzględniono .źródło
WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
plik zamiast bawić się w słoiki. Więcej informacji można znaleźć podPreferences > 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.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:
źródło
Użyj tego repozytorium oprogramowania
Upewnij się, że „Skontaktuj się ze wszystkimi stronami aktualizacji podczas instalacji, aby znaleźć wymagane oprogramowanie” jest zaznaczone.
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 .
źródło
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
Goto
workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
następnie utworzyćlifecycle-mapping-metadata.xml
plik i wklej poniżej i przeładowanie konfiguracji jak poniżejJeśli korzystasz z Eclipse 4.2 i masz problemy z mapowaniem i nie wprowadzisz bałaganu do swojego,
pom.xml
stwórz nowy plik,lifecycle-mapping-metadata.xml
skonfiguruj goWindows -> 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
źródło
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
źródło
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.
źródło
Użyj m2e 0.12 , ostatnia wersja Sonatype.
źródło
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.
źródło
Używałem
i zmieniłem na
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.
źródło
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.
źródło
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
źródło
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:
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 )
Otwórz za pomocą Eclipse (nic z STS, ale chyba działa): Importuj -> Istniejące projekty do Workspace
źródło
Napotkałem dokładnie ten sam problem z wtyczką maven thrift. Oto moje rozwiązanie, które nie wymaga zepsucia pliku pom.xml:
Użyj narzędzia maven z wiersza poleceń
stworzyć projekt zaćmienia
Zaimportuj projekt w środowisku Eclipse. Pamiętaj, aby użyć
aby dodać projekt do swojego obszaru roboczego.
To powinno rozwiązać problem.
źródło
Zamiast zepsuć plik pom, sugerowałbym, aby przejść do Pokaż widok → Markery w Eclipse, wybrać i usunąć markery odpowiednich błędów.
źródło
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ę
źródło
Mam ten sam błąd. Po wykonaniu następujących czynności zniknął.
źródło
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ć.
źródło
możesz ukryć ten błąd w zaćmieniu: Okno -> Preferencje -> Maven -> Błąd / Ostrzeżenia
źródło
Wymiana pieniędzy
w
rozwiązał problem dla mnie.
źródło
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 clean
przetestować z Eclipse, aby pobrać brakujące pliki JAR.źródło
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.
źródło
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.
źródło