web-dev-qa-db-fra.com

L'exécution du plugin n'est pas couverte par une erreur de configuration du cycle de vie dans Eclipse avec pluginManagement dans le pom parent

J'ai jaxws-maven-plugin dans pom.xml parent dans la balise pluginManagement et je fais référence à ce plugin dans le pom enfant. 

mVN Clean Installer fonctionne correctement. Mais Eclipse se plaint que "Exécution de plugin non couverte par la configuration du cycle de vie: org.codehaus.mojo: jaxws-maven-plugin: 1.12: wsimport (exécution: FirstWsdl, phase: generate-sources)". 

Pourriez-vous suggérer comment éviter cette erreur dans Eclipse?

pom parent

<pluginManagement>
    <plugins>
    ...
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
        <version>1.12</version>
        <executions>
            <execution>
                <id>FirstWsdl</id>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <phase>generate-sources</phase>
                <configuration>
                    <wsdlLocation>location/file.wsdl</wsdlLocation>
                    <wsdlFiles>
                        <wsdlFile>file.wsdl</wsdlFile>
                    </wsdlFiles>
                    <packageName>com.xxx.package</packageName>
                </configuration>
            </execution>

        </executions>
        <configuration>
            <sourceDestDir>${basedir}/generated</sourceDestDir>
            <verbose>true</verbose>
            <extension>true</extension>
            <keep>true</keep>
            <vmArgs>
                <vmArg .../>
            </vmArgs>
        </configuration>

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

pom enfant

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
    </plugin>
</plugins>

J'ai examiné cette question et répondu Comment résoudre "L'exécution de plug-in non couverte par la configuration du cycle de vie" pour Spring Data Maven Builds , mais devrais-je utiliser pluginManagement à la fois dans pom parent et enfant pour éviter cette erreur?

17

Cela devrait être:

  • documenté dans la page wiki " exécution du plugin M2E non couverte ":

    Le mappage du cycle de vie de la génération d'un projet peut être configuré dans le pom.xml d'un projet, fourni par les plug-ins Eclipse ou par défaut pour les plug-ins Maven couramment utilisés fournis avec m2e.
    Nous appelons ces " sources de métadonnées de mappage du 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.

  • illustré dans " 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 " (à laquelle vous faites référence).

    • soit en ajoutant le lifecycleMappingMetadata dans le pom parent.
    • ou en entourant les plugins avec la balise <pluginManagement> (dans les deux pom).

This thread ajoute plus de détails à votre message d'erreur spécifique:

lorsque j'examine l'interface utilisateur Eclipse dans les propriétés du projet sous "Maven" -> "Mappage de style de vie" (après avoir coché la case "Afficher les phases du cycle de vie" et désactivé "Afficher les exécutions ignorées"), je vois le contenu suivant.
À ma connaissance, ce fichier montre le mappage entre le cycle de vie de la génération Eclipse (exécution/incrémental) et ses plug-ins Maven associés.
Actuellement, il ne contient pas le plug-in “jax-ws” ni son objectif “wsimport”.

Le problème est que vous avez le plug-in jax-ws déclaré dans la section pluginManagement.
Pour obtenir une liaison à une phase, celle-ci doit être dans build/plugins.
Effectuer une compilation Maven à partir de la CLI ne fonctionnerait pas non plus, alors je suppose que vous n’effectuez pas l’installation standard "MVN"?

Pour que l'exécution de Maven depuis Eclispe fonctionne, vous n'avez rien à faire.
Mais si vous souhaitez disposer d’un support incrémentiel/d’exécution dans le IDE, vous devez obtenir le bon connecteur M2E. Si vous regardez le pom dans l'éditeur de POM dans Eclipse, l'exécution du plug-in doit être marquée d'un X rouge. Passez la souris dessus et choisissez une option pour en trouver un ("Découvrez de nouveaux connecteurs M2E").

21
VonC

Si vous ne trouvez pas connectior, vous pouvez désactiver cette erreur dans Eclipse, car, comme le dit une documentation:

Pour que l'exécution de Maven depuis Eclispe fonctionne, vous n'avez rien à faire.

alors allez à Eclipse: Preferences -> Maven -> Error/Warnings et changez Error en Warning dans l'option: Plugin execution not converted by lifecycle configuration

17
Dawid D

Allez dans pom.xml et cliquez avec le bouton droit de la souris sur> Ajouter une dépendance> entrez l'ID de groupe et l'ID d'artefact, puis cliquez sur OK. Cela résoudra le problème "Exécution de plug-in non couverte par le cycle de vie". 

0
Nagesh Mallareddy

https://www.Eclipse.org/m2e/documentation/m2e-execution-not-covered.html est la page d'origine qui explique tout. Le définir dans le parent devrait suffire à ses enfants.

0
Robert Scholte