124 votes

Exécution de plugin ne relevant ne pas de la configuration du cycle de vie (archétype oreille 7 JBossas)

J’utilise Eclipse 3.7 Indigo avec Maven Plugin M2E 1.0.100.

À l’aide de l’archétype de JavaEE 6 oreille JBoss 7.x, la pom pour oreille me donne cette erreur :

Exécution de plugin ne relevant ne pas de la configuration du cycle de vie : org.apache.maven.plugins:maven-oreille-plugin:2.6 : générer-application-xml (exécution : par défaut-générer-application-xml, phase : générer des ressources)

139voto

Jan Points 1670

C'est une "fonctionnalité" de la M2E plugin qui avait été introduit il y a longtemps. Ce n'est pas directement liée à l'JBoss OREILLE plugin, mais se produit également avec la plupart des autres plugins Maven.

Si vous avez un module d'exécution défini dans votre pom (comme l'exécution de maven-oreille-plugin:générer des-application-xml), vous devez également ajouter d'autres informations de configuration pour M2E qui raconte M2E que faire lorsque la construction est exécutée dans Eclipse, par exemple, devrait l'exécution des plugins être ignoré ou exécutés par M2E, devrait-il être également fait pour les des versions, ... Si cette information est manquante, M2E se plaint-il en montrant le "Plugin d'exécution ne sont pas couverts par la configuration de cycle de vie" message d'erreur.

Voir ici pour une explication plus détaillée et des exemples de configuration qui doit être ajouté à la pom pour faire de cette erreur de s'en aller:

http://wiki.eclipse.org/M2E_plugin_execution_not_covered

45voto

java_newbie Points 282

de toute façon c’est trop tard, mais ma solution a été simple clic-droit sur le message d’erreur dans Eclipse, puis sélection Quick Fix >> ignorer pour chaque pom avec de telles erreurs

32voto

coderplus Points 1459

Eclipse a obtenu le concept de des versions.Ceci est très utile car il permet d'économiser beaucoup de temps.

Comment est-ce Utile

Dites que vous venez de modifier un seul .fichier java. L'augmentation des constructeurs seront en mesure de compiler le code sans avoir à tout recompiler(qui prendra plus de temps).

Maintenant, quel est le problème avec les Plugins Maven

La plupart des plugins maven ne sont pas conçus pour des versions et de là, il crée des ennuis pour la m2e. m2e ne sais pas si le plugin objectif est quelque chose qui est essentiel ou si elle n'est pas pertinente. Si elle s'exécute chaque plugin quand un seul fichier change, il va prendre beaucoup de temps.

C'est la raison pour laquelle m2e s'appuie sur des informations de métadonnées pour comprendre comment l'exécution doit être traitée. m2e a venir avec des options différentes afin de fournir cette information de métadonnées et l'ordre de préférence est comme ci-dessous(par ordre décroissant)

  1. pom.xml fichier de projet
  2. parent, grand-parent, et ainsi de suite pom.xml fichiers
  3. [m2e 1.2+] de l'espace de travail préférences
  4. installé m2e extensions
  5. [m2e 1.1+] cycle de vie de la cartographie des métadonnées fournies par le plugin maven
  6. par défaut le cycle de vie de la cartographie des métadonnées fournies avec m2e

1,2 fait référence à la spécification de pluginManagement section dans la balise de votre pom fichier ou n'importe lequel de ses parents. M2E lit cette configuration pour configurer le projet.Ci-dessous extrait de charge m2e d'ignorer l' jslint et compress des objectifs de la yuicompressor-maven-plugin

<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>net.alchim31.maven</groupId>
                                    <artifactId>yuicompressor-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>compress</goal>
                                        <goal>jslint</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

3) Dans le cas où vous ne préfère pas polluer votre pom fichier de métadonnées, vous pouvez le stocker dans un fichier XML externe(option 3). Ci-dessous est un exemple de mappage de fichier qui indique à m2e d'ignorer l' jslint et compress des objectifs de la yuicompressor-maven-plugin

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <versionRange>[1.0,)</versionRange>
                <goals>
                    <goal>compress</goal>
                    <goal>jslint</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore/>
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>

4) Dans le cas où vous n'aimez pas l'une de ces 3 options, vous pouvez utiliser un m2e connecteur(extension) pour le plugin maven.Le connecteur à leur tour, fournissent les métadonnées de m2e. Vous pouvez voir un exemple de l'information sur les métadonnées au sein d'un connecteur à ce lien . Vous avez peut-être remarqué que les métadonnées se réfère à un configurateur. Cela signifie simplement que m2e de déléguer la responsabilité à la classe java fournies par l'auteur de l'extension.Le configurateur pouvez configurer le projet(comme par exemple ajouter des dossiers source, etc) et de décider d'exécuter le plugin maven lors d'un différentiel de construire(si pas correctement gérés dans le configurateur, il peut conduire à d'interminables projet s'appuie)

Consultez ces liens pour un exemple de la configuratior(link1,link2). Ainsi, dans le cas où le plugin est quelque chose qui peut être gérée via un connecteur externe, alors vous pouvez l'installer. m2e tient à jour une liste de ces connecteurs ont contribué par d'autres développeurs.Ceci est connu comme la découverte de catalogue. m2e vous invite à installer un raccord, si vous ne l'avez pas déjà tout le cycle de vie de la cartographie des métadonnées pour l'exécution par l'une des options(1-6) et la découverte de catalogue a obtenu une extension, qui peut gérer l'exécution.

L'image ci-dessous montre comment m2e vous invite à installer le connecteur pour le build-helper-maven-plugin. install connector suggested from the discovery catalog.

5)m2e encourage les auteurs de plugins pour soutenir les différentiels de construire et d'approvisionnement cycle de vie de la cartographie dans le maven-plugin lui-même.Cela signifie que les utilisateurs n'ont pas un cycle de vie des mappages ou les connecteurs.Certains plugin auteurs ont déjà mis en place cette

6) Par défaut m2e détient le cycle de vie de la cartographie des métadonnées pour les plus couramment utilisés par les plugins comme le maven-compiler-plugin et beaucoup d'autres.

Maintenant, revenons à la question :Vous pouvez probablement juste de fournir un ignorer cycle de vie de la cartographie dans 1, 2 ou 3 pour l'objectif spécifique qui est de la création d'ennuis pour vous.

12voto

Charith Points 427

Vient d’être ajoutée après propre résolu le problème pour moi.

Si vous avez besoin inclure ce que dans la même utilisation de phase (en construction) suite

2voto

aeros Points 21

J'ai été en mesure de résoudre le même problème avec maven-antrun-plugin et jaxb2-maven-plugin dans Eclipse Kepler 4.3 par appying cette solution: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#Eclipse_4.2_add_default_mapping
Donc le contenu de mon %elipse_workspace_name%/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml est comme suit:

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <versionRange>1.3</versionRange>
        <goals>
          <goal>run</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxb2-maven-plugin</artifactId>
        <versionRange>1.2</versionRange>
        <goals>
          <goal>xjc</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>

*Pour redémarrer Eclipse pour voir les erreurs du passé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X