web-dev-qa-db-fra.com

se débarrasser de POM not found avertissement pour org.Eclipse.m2e: lifecycle-mapping

Dans 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 lance uniquement mvn clean install alors il n'y a pas un tel message)

Je sais que le problème est que ce POM n'existe pas, car il est uniquement défini pour contenir les informations de mappage. ( cartographie du cycle de vie m2e introuvable )

Quoi qu'il en soit, je veux garder ma version propre, sans aucun avertissement, alors comment puis-je m'en débarrasser? ( Mon serveur CI vérifie qu'il n'y a pas d'avertissement. )

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

54
Ralph

Mon équipe contourne ce problème en encapsulant la configuration appropriée 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>
63
ctrueden

C'est une bogue conn avec [~ # ~] wontfix [~ # ~] résolution. La solution suggérée est à mon avis la plus simple:

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

et install ce projet.

17
allprog

Cette solution est maintenant obsolète, je recommanderais 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 référentiel dans votre entreprise ou que vous êtes seul, en attendant, vous pouvez le faire: - Checkout https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin . - Courir mvn install lorsque vous êtes seul - Exécutez mvn deploy -DaltDeploymentRepository=REPO_ID::default::YOUR_THIRDPARTY_REPO_URL lorsque vous avez un gestionnaire de référentiel comme Nexus ou Artifactory. - Voir https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin/blob/master/README.creole également.

Cordialement Mirko

8
Mirko Friedenhagen

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

Dans l'exemple d'origine, vous "annoteriez" simplement tous les <execution> du maven-processor-plugin ’S process objectif avec

<?m2e execute?>

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

5
Andreas Sewe

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

Presse CTR+1 sur l'erreur L'exécution du plugin n'est pas couverte par la configuration du cycle de vie: org.codehaus.mojo: buildnumber-maven-plugin: 1.1: create-timestamp (exécution: default-create-timestamp, phase: validate) puis sélectionnez cette 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
Grzegorz Grzybek