web-dev-qa-db-fra.com

Comment résoudre "L'exécution de plug-in non couverte par la configuration du cycle de vie" pour les générations Spring Data Maven

J'essaie de travailler avec Spring Data et Neo4j . J'ai commencé par essayer de suivre ce guide lié au site principal. En particulier, j'ai basé mon pom.xml sur exemple du fichier "Hello, World!" . Voici un extrait de mon fichier pom.xml pour le plug-in à l'origine des problèmes ...

<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>

L'erreur que je vois est la suivante:

 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)

Je suis sous Eclipse 3.6.2 et M2E 0.13. Je ne suis pas un expert Maven, alors soyez très explicatif dans vos réponses, si possible.

J'ai aussi essayé m2e 1.0. via ce site de mise à jour et j'obtiens toujours la même erreur.

859
Andrew White

Dans le cas où je rencontrais un problème similaire, au lieu d'utiliser la suggestion d'Andrew pour le correctif, cela fonctionnait simplement après avoir introduit la balise <pluginManagement> dans le fichier pom.xml en question. On dirait que cette erreur est due à une balise <pluginManagement> manquante. Donc, pour éviter les exceptions dans Eclipse, il faut simplement inclure toutes les balises de plug-in dans une balise <pluginManagement>, comme suit:

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

Une fois que cette structure est en place, l'erreur disparaît.

1252
Simeon Leyzerzon

Quel bordel. Je ne me souviens pas où j'ai trouvé cela, mais j'ai dû ajouter ce qui suit pour que M2Eclipse soit heureux. Encore plus triste, il est difficile de comprendre pourquoi cette balise est nécessaire.

<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>

Il y avait un certain nombre d'autres problèmes avec le plug-in M2Eclipse qui ne fonctionnaient tout simplement pas avec Spring Data. Au final, j'ai désactivé M2Eclipse au profit du plug-in Apache Eclipse .

404
Andrew White

Solution suggérée par documentation Eclipse m2e :

  1. Utilisez solution rapide pour l'erreur en pom.xml et sélectionnez Permanently mark goal run in pom.xml as ignored in Eclipse build - ceci générera le code passe-partout requis pour vous.

  2. Pour charger Eclipse d'exécuter votre plugin pendant la construction, il vous suffit de remplacer la balise <ignore/> par la balise <execute/> dans la configuration générée:

    <action>
        <execute/>
    </action>
    

    Vous pouvez également demander à Eclipse d’exécuter le plug-in sur des versions incrémentielles:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    
203
Vedran

Dans Eclipse Luna 4.4.0, vous pouvez choisir d’ignorer cette erreur dans les préférences.

Fenêtre> Préférences> Maven> Erreurs/Avertissements> L'exécution du plug-in n'est pas couverte par la configuration du cycle de vie. Sélectionnez Ignorer/Avertissement/Erreur comme vous le souhaitez.

De plus, dans le correctif (Ctrl + 1) de cette erreur, il est possible de marquer l'objectif comme ignoré dans la construction Eclipse dans les préférences Eclipse (expérimental).

C'est une manière plus propre, car cela ne modifie pas votre pom.xml.

Vous devrez faire un Maven> projet de mise à jour pour corriger la même erreur dans tout autre projet.


Dans STS (Spring-tool-suite), vous pouvez choisir d’ignorer cette erreur dans les préférences.

Fenêtre> Préférences> Maven> Erreurs/Avertissements> L'exécution du plug-in n'est pas couverte par la configuration du cycle de vie. Sélectionnez Ignorer/Avertissement/Erreur selon vos souhaits. Ensuite. Cliquez avec le bouton droit sur le projet, cliquez sur Maven et mettez à jour le projet, puis l'erreur disparaîtra.

200
ShaKa

Voir https://www.Eclipse.org/m2e/documentation/m2e-execution-not-covered.html .

Pour résoudre des problèmes de longue date, m2e 1.0 requiert des instructions explicites sur la manière de gérer tous les plug-ins Maven liés à des phases "intéressantes" du cycle de vie de la construction du projet. Nous appelons ces instructions "mappage de cycle de vie de construction de projet" ou simplement "mappage de cycle de vie", car elles définissent la façon dont m2e mappe les informations du fichier pom.xml du projet vers la configuration et le comportement du projet de l'espace de travail Eclipse lors de la construction de cet espace de travail Eclipse.

La configuration du mappage du cycle de vie d'un projet peut être spécifiée dans le projet pom.xml, fournie par les plug-ins Eclipse. Il existe également une configuration par défaut pour certains plug-ins Maven couramment utilisés fournis avec m2e. Nous appelons ces "sources de métadonnées de mappage de cycle de vie". m2e créera un marqueur d'erreur comme ci-dessous pour toutes les exécutions de plug-in ne disposant pas de mappage de cycle de vie dans aucune des sources de métadonnées de mappage.

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 fait correspondre les exécutions de plug-in aux actions en utilisant une combinaison de plug-in groupId, artifactId, gamme de versions et objectif. M2E peut exécuter trois actions de base lors de l'exécution d'un plugin - ignorer , execute et déléguer à un projet le configurateur .

110
Thomas Broyer

m2e 0.13 introduit un m2e connecteurs et m2e Market Place pour étendre les fonctionnalités de m2e. C'est comme l'ancien dépôt M2E-extras.

Vous pouvez accéder au marché M2E à partir des préférences: Préférences> Maven> Découverte> Ouvrir le catalogue. L’installation de intégration WTP a résolu pour moi la plupart des problèmes de plug-in.

29
noirbizarre

Modifier les préférences Maven pour l'exécution du plug-in d'erreur en ignorant

23
kvm006

Notez que la version 1.7.0 de M2Eclipse (m2e) disponible dans le train de version actuel d'Eclipse Neon prend en charge une nouvelle syntaxe permettant de spécifier des métadonnées de mappage de cycle de vie. En conséquence, le résultat est simple (ici, nous demandons à m2e d’ignorer l’objectif):

<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>

peut être remplacé par une seule ligne dans le noeud d'exécution du plugin:

<?m2e ignore?>

enter image description here

Voir le notes de version pour plus de détails.

22
David

En tant qu'additif aux réponses précédentes, il existe une solution de contournement que je viens de découvrir si vous ne pouvez ou ne voulez pas ajouter tout ce passe-partout à votre projet POM. Si vous regardez à l'emplacement suivant:

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

Vous devriez trouver un fichier nommé lifecycle-mapping-metadata.xml où vous pouvez apporter les mêmes modifications que celles décrites dans les autres réponses et dans exécution du plug-in M2E non couverte .

21
htompkins

J'ai eu le même problème avec Eclipse v3.7 (Indigo) et m2Eclipse que mon plugin Maven. L'erreur a été facilement résolue en indiquant explicitement la phase d'exécution dans la définition du plugin. Donc, mon pom ressemble à ceci:

<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>
        ...
17
Kristiaan
  1. Allez dans Aide> Installer un nouveau logiciel ...
  2. Utilisez ceci référentiel logiciel

    Assurez-vous que l'option "Contacter tous les sites de mise à jour lors de l'installation pour trouver le logiciel requis" est cochée.

  3. Installer le configurateur AJDT m2e

Source: Mise à niveau de l'intégration Maven pour SpringSource Tool Suite 2.8. (Andrew Eisenberg)

Cela devrait installer automatiquement ADJT si vous ne l'avez pas déjà installé, mais s'il ne le fait pas, installez d'abord AspectJ Development Tools (ADJT) à partir de "Site de mise à jour Indigo" (selon votre version d'Eclipse).

Plus d'informations sur site Outils de développement AspectJ .

10
Hendy Irawan

J'ai eu le même problème avec Indigo et un projet qui doit générer des sources Java à partir de XSD.
Je pourrais y remédier en fournissant la cartographie manquante du cycle de vie, comme décrit sur cette page

9
Tillmann

Allez à workspace/rtc-ws/.metadata/.plugins/org.Eclipse.m2e.core/lifecycle-mapping-metadata.xml puis créez le fichier lifecycle-mapping-metadata.xml et collez-le ci-dessous et rechargez la configuration comme ci-dessous.

Si vous utilisez Eclipse 4.2 et que vous rencontrez des problèmes de mappage et que vous ne posez pas de problèmes, pom.xml créez un nouveau fichier lifecycle-mapping-metadata.xml configurez-le dans Windows -> Preferences -> Lifecycle mapping (n'oubliez pas d'appuyer sur Recharger les mappages du cycle de vie de l'espace de travail métadonnées après chaque modification de ce fichier!). Voici un exemple basé sur Eclipse/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>
9
fatih tekin

Je l'ai corrigé après l'article de blog Mise à niveau de l'intégration Maven pour SpringSource Tool Suite 2.8..

Suivez les conseils de la section intitulée " Euh oh… mes projets ne se construisent plus ". Même lorsqu'il est destiné à SpringSource Tool Suite, je l'ai utilisé pour réparer une installation Eclipse normale. Je n'ai pas eu à modifier mes fichiers pom.

8
Chepech

Cette erreur se produit également sur le néon en raison du connecteur M2E manquant. Erreur de survol et sélectionnez - Découvrez de nouveaux connecteurs M2E.

Il va installer un nouveau connecteur et c'est tout.

5
Tamer Awad

Utilisez m2e 0.12 , dernière version de Sonatype.

5
Oh Chin Boon

J'ai eu exactement le même problème après la mise à jour de M2E et je l'ai résolu en réinstallant Maven Integration for Eclipse WTP.

Il se trouve que je l’ai désinstallé en essayant de mettre à jour m2e de la version 0.x à 1.x

4
Lisandro

J'utilisais

<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>

et l'a changé pour

<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>

et l'erreur est partie. Peut-être qu’il n’est pas recommandé de lier une exécution à la phase de compilation-test, la recherche d’une phase différente peut être une solution alternative à l’ajout de la configuration de gestion des plug-ins au cycle de vie maven.

4
Bob

Où trouver WTP:

Placez le curseur de la souris sur <plugin> dans pom.xml et sur "Découvrez les nouveaux connecteurs m2e".

Je les ai tous installés ce qui sont vérifiés par défaut et cela fonctionne.

4
siOnzee

J'ai eu ce problème aujourd'hui. J'utilisais STS 3.4 avec son Roo 1.2.4 fourni. Plus tard, j'ai essayé avec Eclipse Kepler et Roo 1.2.5, même erreur.

J'ai changé mon pom.xml en ajoutant la balise pluginTemplates après la construction et avant la déclaration des plugins, mais cela ne fonctionnait pas.

Ce qui a fait la magie pour moi:

  • Utilisation de jdk 1.7.0_51
  • Téléchargé Roo 1.2.5
  • Téléchargé Maven 3.2.1 (sinon, lorsqu’il exécute "exécuter Eclipse", cette erreur apparaît "erreur = 2, aucun fichier ou répertoire de ce type")
  • Répertoires JDK, Roo et Maven bin configurés sur mon PATH:

    export 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

Fait ma configuration comme suit: ( 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

Ouvrir avec Eclipse (rien de STS, mais j'imagine que cela fonctionne): Importer -> Projets existants dans l'espace de travail

3
camposer

J'ai rencontré exactement le même problème avec le plugin Maven Thrift. Voici ma solution qui ne nécessite pas de gâcher votre pom.xml:

  1. Utilisez l'utilitaire maven en ligne de commande mvn

    mvn Eclipse: eclipse

    créer un projet Eclipse

  2. Importez le projet dans Eclipse. N'oubliez pas d'utiliser

    Fichier> Importer> Général> Projets existants dans l'espace de travail

    pour ajouter le projet dans votre espace de travail.

Cela devrait résoudre le problème.

2
PickBoy

Au lieu de gâcher votre fichier pom, je vous suggère d’aller dans Afficher la vueMarqueurs dans Eclipse, sélectionnez et supprimez les marqueurs des erreurs appropriées.

2
Bharath Lakshman

J'ai suivi les indications de l'interface graphique pour trouver un connecteur, puis j'ai trouvé AspectJ Integrator de l'équipe SpringSource. Après l'installation, il a été réglé.

1
deng hui

En changeant

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

dans

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

résolu le problème pour moi.

1
dontcare

Cette réponse est tout aussi bonne que la réponse ci-dessus en matière de gestion de plug-in (c'est-à-dire qu'elle est terrible).

Supprimez simplement tout le code XML incriminé dans le pom.

Terminé. Problème résolu (sauf que vous venez de casser votre configuration de maven ...).

Les développeurs doivent être très attentifs, car ils comprennent les balises de gestion des plugins avant de faire l'une de ces solutions. Le simple fait de gifler la gestion des plugins autour de vos plugins est aléatoire, cela risquerait de briser la construction de Maven pour tout le monde juste pour que Eclipse fonctionne.

1
Michael Haefele

vous pouvez supprimer cette erreur dans Eclipse: Fenêtre -> Préférences -> Maven -> Erreur/Avertissements

1
Pankaj Rastogi

Si vous utilisez Eclipse Juno, le problème peut être Maven Integration For Eclipse WTP. Alors installez le même depuis Eclipse Market Place.

Dans Eclipse IDE Aide >> Eclipse Market Place >>, tapez la requête wtp. Elle montrera l'intégration maven pour Eclipse WTP pour Juno, installez-la et mettez à jour les dépendances maven, puis profitez-en.

J'ai rencontré cela avec Eclipse v4.3 (Kepler) et Maven 3.1.

La solution consiste à utiliser un JDK et non un JRE pour votre projet Eclipse. Assurez-vous d'essayer maven clean et de tester Eclipse uniquement pour télécharger les fichiers JAR manquants.

1
Yamato

Pour moi, cela a été causé par les classes AspectJ. Je ne pouvais pas trouver un plugin sous Discovery qui pourrait aider. J'ai donc résolu ce problème en copiant les fichiers org.maven.ide.Eclipse.ajdt, sous les dossiers plugin et feature, d'une installation STS existante.

Je sais, approche très impolie.

0
DevCat

J'ai eu la même erreur. Après avoir fait ce qui suit, il est parti.

  1. Faites un clic droit sur le projet.
  2. Sélectionnez Maven> Mettre à jour le projet ...
0
Lilylakshi

Je rencontre ce problème depuis des années ... Eclipse 'honte. Si votre application est divisée en modules maven, vous pouvez envisager de supprimer les modules concernés de l'EDI. Chaque fois que vous devez régénérer/exécuter le plug-in, utilisez la ligne de commande maven avec install. Eclipse est alors satisfait des artefacts préparés présents dans votre référentiel local. . Non bidouillage nécessaire.

0
tomasb