Próbuję pracować z Spring Data i Neo4j. Zacząłem od próby zastosowania się do tego przewodnika powiązanego z główną stroną. W szczególności oparłem mój pom.xml na "Hello, World!" pliku przykładu. 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)
Używam Eclipse 3.6.2 i m2e 0.13. I'm nie jest ekspertem Maven, więc proszę być bardzo wyjaśniający w swoich odpowiedziach, jeśli to możliwe.
I've również próbował m2e 1.0.0 przez ta strona aktualizacji i nadal otrzymuję ten sam błąd.
Co za bałagan. Nie pamiętam, gdzie to znalazłem, ale musiałem dodać następujące elementy, aby M2Eclipse był szczęśliwy. 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 jeszcze kilka innych problemów z wtyczką M2Eclipse, która po prostu nie działała ze Spring Data. W końcu wyłączyłem M2Eclipse na rzecz wtyczki Apache Eclipse.
Zob. https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
Aby rozwiązać pewne długotrwałe problemy, m2e 1.0 wymaga wyraźnych instrukcji co zrobić z wszystkimi wtyczkami Mavena związanymi z "interesującymi" fazami budowy projektu. cyklu życia budowania projektu. Nazywamy je instrukcje "cyklu życia budowy projektu mapowaniem" lub po prostu "mapowaniem cyklu życia"; ponieważ definiują one sposób, w jaki m2e mapuje informacje z pliku pom.xml projektu do projektu w przestrzeni roboczej Eclipse konfigurację i zachowanie podczas budowy przestrzeni roboczej Eclipse.
Mapowanie cyklu życia budowania projektu konfiguracja może być określona w projekcie pom.xml, wnoszonym przez wtyczki Eclipse, a także istnieje domyślna konfiguracja dla niektórych powszechnie używanych wtyczek Mavena dostarczanych z m2e. Nazywamy je "cyklem życia mapowania źródeł metadanych". m2e będzie tworzyć znaczniki błędów jak poniżej dla wszystkich wykonań pluginów, które nie mają mapowania cyklu życia w żadnym z > źródeł metadanych mapowania źródeł metadanych mapowania.
Wykonanie wtyczki nie objęte konfiguracją cyklu życia: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (execution: generate-sources-input, phase: generate-sources)
m2e matches plugin wykonania do akcji za pomocą kombinacji groupId wtyczki, artifactId, zakresu wersji i celu. Istnieją trzy podstawowe akcje, które m2e może zostać poinstruowane, aby wykonać akcję z wtyczką wykonanie - ignore, execute oraz delegować do projektu konfiguratora.
m2e 0.13 wprowadza m2e connectors oraz m2e Market Place do rozszerzenia funkcjonalności m2e. To jest jak stare repozytorium m2e-extras.
Możesz uzyskać dostęp do m2e market place z preferencji: Preferencje>Maven>Discovery>Open Catalog. Zainstalowanie WTP integration rozwiązało dla mnie większość problemów z wtyczkami.