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