Jeg forsøger at arbejde med Spring Data og Neo4j. Jeg startede med at forsøge at følge denne vejledning, som der linkes til på hovedwebstedet. Især baserede jeg min pom.xml på "Hello, World!" eksempelfilen. Her er et uddrag af min pom.xml for det plugin, der forårsager problemerne...
<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>
Den fejl jeg ser er:
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)
Jeg kører Eclipse 3.6.2 og m2e 0.13. I'm ikke en Maven ekspert, så vær venligst meget forklarende i dine svar hvis muligt.
I've også prøvet m2e 1.0.0.0 via this update site og får stadig den samme fejl.
Sikke et rod. Jeg kan ikke huske hvor jeg fandt dette, men jeg var nødt til at tilføje følgende for at få M2Eclipse til at være glad. Endnu mere trist er det, at det ikke ligefrem er nemt at forstå, hvorfor dette tag er nødvendigt.
<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>
Der var en række andre problemer med M2Eclipse-plugin'et, som simpelthen ikke virkede med Spring Data. Til sidst deaktiverede jeg M2Eclipse til fordel for Apache Eclipse plug-in.
Se https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
For at løse nogle gammelkendte problemer, m2e 1.0 kræver eksplicitte instruktioner hvad der skal gøres med alle Maven plugins bundet til "interessante" faser af projektets build livscyklus. Vi kalder disse instruktioner "projektets opbygningslivscyklus mapping" eller blot "lifecycle mapping" fordi de definerer, hvordan m2e kortlægger oplysninger fra projektets pom.xml-fil til Eclipse workspace-projektet konfiguration og adfærd under Eclipse workspace build.
Kortlægning af projektets byggecyklus konfiguration kan angives i projekt pom.xml, bidraget af Eclipse plugins, og der er også standardkonfiguration for nogle almindeligt anvendte Maven-plugins, der leveres med m2e. Vi kalder disse "livscyklus mapping metadatakilder". m2e vil oprette fejlmarkering som nedenfor for alle plugin udførelser, der ikke har livscyklustilknytning i nogen af de mapping metadatakilder.
Udførelse af plugin ikke omfattet af livscykluskonfiguration: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (udførelse: generate-sources-input, fase: generate-sources)
m2e matcher plugin udførelser til handlinger ved hjælp af kombination af plugin groupId, artifactId, versionsinterval og mål. Der er tre grundlæggende handlinger, som m2e kan instrueres til at gøre med et plugin udførelse -- ignore, execute og uddelegere til et projekt konfigurator.
m2e 0.13 introducerer m2e connectors og m2e Market Place for at udvide m2e-funktionerne. Det er ligesom det gamle m2e-extras repository.
Du kan få adgang til m2e market place fra præferencerne: Preferences>Maven>Discovery>Open Catalog. Installation af WTP integration løste de fleste plugin-problemer for mig.