se débarrasser de POM pas trouvé avertissement pour org.Eclipse.m2e: cartographie du cycle de vie

avec l'intention de faire fonctionner correctement m2e 1.0, j'ai dû spécifier la cartographie du cycle de vie:

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.bsc.maven</groupId>
                                    <artifactId>maven-processor-plugin</artifactId>
                                    <versionRange>[2.0.2,)</versionRange>
                                    <goals>
                                        <goal>process</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>                         
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

mais je reçois cet avertissement:

 [WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available
 [WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0

si j'exécute une tâche maven spécifique par exemple mvn clean install findbugs:findbugs (si je n'exécute que mvn clean install , alors il n'y a pas de tel message)

je sais que le problème est que ce POM n'existe pas, parce qu'il est seulement défini pour contenir l'information cartographique. ( m2e du cycle de vie de la cartographie n'est pas trouvé )

de toute façon, je veux garder mon construire propre, sans aucun avertissement, alors comment puis-je me débarrasser de cette spécificité? ( Mon serveur CI vérifie qu'il n'y a pas d'avertissement. )

j'utilise Maven 3.0.2 et essayé Maven 3.0.3 aussi, mais le même résultat.

49
demandé sur Community 2011-10-26 20:07:08

5 réponses

mon équipe contourne ce problème en enveloppant la configuration correspondante dans un profil:

<profile>
  <id>only-eclipse</id>
  <activation>
    <property>
      <name>m2e.version</name>
    </property>
  </activation>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            ...
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</profile>
54
répondu ctrueden 2014-05-17 02:38:38

, un bug connu avec WONTFIX de la résolution. La solution suggérée est la plus simple à mon avis:

mvn archetype:generate -DgroupId=org.eclipse.m2e -DartifactId=lifecycle-mapping \
 -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-mojo

et install ce projet.

12
répondu allprog 2017-01-30 10:00:08

cette solution est maintenant dépréciée, je recommande d'utiliser la solution" profile " de @ctrueden qui est la réponse acceptée!

bien que ce ne soit pas la solution la plus propre, lorsque vous utilisez un gestionnaire de dépôt dans votre entreprise ou sont sur votre propre, dans l'intervalle, vous pouvez faire ceci: - Caisse https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin . - Exécuter mvn install quand vous êtes sur votre propre - Exécuter mvn deploy -DaltDeploymentRepository=REPO_ID::default::YOUR_THIRDPARTY_REPO_URL quand vous avez un gestionnaire de dépôt comme Nexus ou Artifactory. - Voir https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin/blob/master/README.creole ainsi.

en ce qui Concerne Mirko

8
répondu Mirko Friedenhagen 2015-06-23 18:34:38

m2eclipse 1.7.0 introduit une alternative, à savoir une instruction de traitement XML.

dans l'exemple original, vous "annotez" simplement chaque <execution> du maven-processor-plugin ’s process but avec

<?m2e execute?>

voir les notes de version pour plus de détails sur la syntaxe et d'autres options.

2
répondu Andreas Sewe 2017-10-27 10:20:59

maintenant il y a maintenant une meilleure solution (pour les messages d'erreur dans Eclipse seulement).

Appuyez sur CTR+1 sur le message d'erreur exécution des plugins ne sont pas couverts par la configuration de cycle de vie: org.codehaus.mojo:buildnumber-maven-plugin:1.1:créer-timestamp (exécution: par défaut-créer-timestamp, phase: valider) , puis sélectionnez l'option:

enter image description here

cela fonctionne avec org.eclipse.m2e.editor.xml_1.2.0.20120903-1050.jar plugin (peut-être plus tôt aussi)

1
répondu Grzegorz Grzybek 2013-11-01 10:35:23