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.
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>
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
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.
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:
cela fonctionne avec org.eclipse.m2e.editor.xml_1.2.0.20120903-1050.jar
plugin (peut-être plus tôt aussi)