Poskušam delati s Spring Data in Neo4j. Začel sem tako, da sem poskušal slediti temu vodniku, na katerega je povezava na glavni spletni strani. Zlasti sem svoj pom.xml zasnoval na "Hello, World!" vzorčni datoteki. Tukaj je izsek iz mojega pom.xml za vtičnik, ki povzroča težave...
<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>
Napaka, ki jo vidim, je:
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)
Uporabljam Eclipse 3.6.2 in m2e 0.13. Nisem strokovnjak za Maven, zato vas prosim, da ste v svojih odgovorih zelo razlagalni, če je to mogoče.
Poskusil sem tudi m2e 1.0.0 prek tega spletnega mesta za posodobitve in še vedno dobim isto napako.
Kakšna zmešnjava. Ne spomnim se, kje sem to našel, vendar sem moral dodati naslednje, da je bil M2Eclipse zadovoljen. Še bolj žalostno je, da ni ravno lahko razumeti, zakaj je ta oznaka potrebna.
<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>
Pri vtičniku M2Eclipse je bilo še več drugih težav, ki preprosto niso delovale s programom Spring Data. Na koncu sem onemogočil M2Eclipse v korist vtičnika Apache Eclipse.
Glej https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
Za rešitev nekaterih dolgotrajnih težav, m2e 1.0 zahteva izrecna navodila kaj storiti z vsemi vtičniki Maven vezano na "zanimive" faze življenjskega cikla izgradnje projekta. Te zahteve imenujemo navodila "življenjski cikel izgradnje projekta kartiranje" ali preprosto "kartiranje življenjskega cikla"; ker določajo, kako m2e kartira informacije iz datoteke pom.xml projekta v delovni prostor projekta Eclipse konfiguracijo in obnašanje med izgradnji delovnega prostora Eclipse.
preslikava življenjskega cikla gradnje projekta konfiguracijo je mogoče določiti v pom.xml projekta, ki ga je prispeval vtičniki Eclipse, na voljo pa je tudi privzeta konfiguracija za nekatere pogosto uporabljene vtičnike Maven, ki so poslani z m2e. Tem imenujemo "življenjski cikel vire metapodatkov za kartiranje". m2e bo ustvaril označevalnik napak, kot je spodnji, za vse izvajanja vtičnikov, ki nimajo kartiranja življenjskega cikla v nobenem od metapodatkovnih virov kartiranja.
Izvedba vtičnika ni zajeta s konfiguracijo življenjskega cikla: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (izvajanje: generate-sources-input, faza: generate-sources)
m2e matches plugin izvedbe z dejanji z uporabo kombinacijo vtičnika groupId, artifactId, razponom različice in ciljem. Obstajajo tri osnovna dejanja, ki jih m2e je mogoče naročiti, da izvede z vtičnikom izvajanje -- ignore, execute in prenesti na projektni konfigurator.
m2e 0.13 uvaja m2e connectors in m2e Market Place za razširitev funkcij m2e. Podobno kot stari repozitorij m2e-extras.
Do tržnice m2e lahko dostopate iz nastavitev: Maven>Discovery>Open Catalog: Preferences>Maven>Discovery>Open Catalog. Z namestitvijo WTP integration** sem rešil večino težav z vtičniki.