J'ai un projet Maven assez simple:
<project>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Cependant, l'erreur suivante apparaît dans m2Eclipse:
Description Resource Path Location Type
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. pom.xml /jasperreports-test line 60 Maven Project Build Lifecycle Mapping Problem
Pourquoi est-ce que je me soucie de savoir si m2Eclipse ne "prend" pas en charge cette tâche? Maven le fait, et c'est tout ce qui m'importe. Comment puis-je obtenir cette erreur dans mon projet à partir?
Cela semble être un problème connu. Vous pouvez demander à m2e de l'ignorer.
Option 1: pom.xml
Ajoutez ce qui suit dans votre balise <build/>
:
<pluginManagement>
<plugins>
<!-- Ignore/Execute plugin execution -->
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<!-- copy-dependency plugin -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins></pluginManagement>
Vous devrez faire Maven ... -> Mettre à jour la configuration du projet sur votre projet après cela.
En savoir plus: http://wiki.Eclipse.org/M2E_plugin_execution_not_covered#m2e_maven_plugin_coverage_status
Option 2: neutralisation globale d'Eclipse
Pour éviter de modifier vos fichiers POM, le remplacement ignorer peut être appliqué à l’ensemble de l’espace de travail via les paramètres Eclipse.
Enregistrez ce fichier quelque part sur le disque: https://Gist.github.com/maksimov/8906462
Dans Eclipse/Preferences/Maven/Lifecycle Mappings
, naviguez dans ce fichier et cliquez sur OK:
C'est un problème de M2E pour Eclipse exécution du plugin M2E non couverte .
Pour résoudre ce problème, tout ce que vous avez à faire est de cartographier le cycle de vie qu’il ne reconnaît pas et de demander à M2E de l’exécuter.
Vous devriez ajouter ceci après votre plugins
, à l'intérieur de build
. Cela supprimera l'erreur et permettra à M2E de reconnaître l'objectif copy-depencies
de maven-dependency-plugin
et de faire fonctionner le POM comme prévu, en copiant les dépendances dans un dossier chaque fois qu'Eclipse le construit. Si vous souhaitez simplement ignorer l'erreur, modifiez <execute />
pour <ignore />
. Inutile de joindre votre maven-dependency-plugin
à pluginManagement
, comme suggéré précédemment.
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Si les dépendances, le décompactage, l’emballage, etc., sont importants pour votre projet, vous ne devez pas l’ignorer. Vous devez joindre votre <plugins>
à <pluginManagement>
testé avec Eclipse Indigo SR1, version 2.2.1.
Pour que cela fonctionne, au lieu de l'ignorer, vous pouvez installer le connecteur m2e pour le plugin maven-dependency-plugency:
https://github.com/ianbrandt/m2e-maven-dependency-plugin
Voici comment vous le feriez dans Eclipse:
Malgré la réponse de CaioToOn ci-dessus, j'avais toujours du mal à faire en sorte que cela fonctionne initialement.
Après plusieurs tentatives, finalement le faire fonctionner. Je colle ma version finale ici - en espérant que cela profitera à quelqu'un d'autre.
<build>
<plugins>
<!--
Copy all Maven Dependencies (-MD) into libMD/ folder to use in classpath via shellscript
-->
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libMD</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<!--
Above maven-dependepcy-plugin gives a validation error in m2e.
To fix that, add the plugin management step below. Per: http://stackoverflow.com/a/12109018
-->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
J'ai eu le même problème en essayant de charger le projet Hadoop dans Eclipse. J'ai essayé les solutions ci-dessus, et je pense que cela aurait peut-être fonctionné dans Eclipse Kepler… je ne suis même plus sûr (j'ai essayé trop de choses).
Avec tous les problèmes que je rencontrais, j'ai décidé de passer à Eclipse Luna, et les solutions ci-dessus ne m'ont pas fonctionné.
Un autre article recommandait de modifier le tag ... en package. J'ai commencé à le faire et cela "effacerait" les erreurs ... Cependant, je commence à penser que les changements me mordraient plus tard - je ne suis pas un expert en Maven.
Heureusement, j'ai découvert comment supprimer toutes les erreurs. Allez dans Fenêtre-> Préférences-> Maven-> Erreur/Avertissements et changez l'option "Exécution du plugin non couverte par le cycle de vie ..." en "Ignorer". J'espère que ça aide.
Je sais que c’est un vieux message, mais j’ai eu du mal à résoudre ce problème et j’ai utilisé le modèle de cette page: http://maven.Apache.org/plugins/maven-dependency-plugin/usage.html
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>[ groupId ]</groupId>
<artifactId>[ artifactId ]</artifactId>
<version>[ version ]</version>
<type>[ packaging ]</type>
<classifier> [classifier - optional] </classifier>
<overWrite>[ true or false ]</overWrite>
<outputDirectory>[ output directory ]</outputDirectory>
<destFileName>[ filename ]</destFileName>
</artifactItem>
</artifactItems>
<!-- other configurations here -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
et tout fonctionne bien sous m2e
1.3.1.
Quand j'ai essayé d'utiliser
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
J'ai aussi eu l'erreur m2e
.
Une autre option consiste à accéder à l'onglet des problèmes, à cliquer avec le bouton droit de la souris sur l'erreur, à cliquer sur appliquer une solution rapide. Le doit générer le code XML Ignorer et l’appliquer pour vous.