M2E lifecycle-mapping non trouvé

j'essaie d'utiliser la solution décrite ici pour résoudre l'ennuyeuse" exécution de Plugin non couverte par la configuration lifecycle: org.codehaus.mojo: build-helper-maven-plugin:1.7:add-source (execution: default, phase: generate-sources)" quand je place le plugin suivant sur mon pom.xml:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
    <execution>
        <phase>generate-sources</phase>
        <goals><goal>add-source</goal></goals>
        <configuration>
            <sources>
                <source>src/bootstrap/java</source>
            </sources>
        </configuration>
    </execution>
</executions>
</plugin>

mais quand j'exécute mvn clean install je reçois ceci:

raison: POM ' org.Eclipse.m2e:cycle de vie-cartographie " ne trouve pas dans dépôt: impossible de télécharger l'artefact depuis n'importe quel dépôt

est-ce que quelqu'un sait comment rendre M2E et maven heureux?

54
demandé sur falsarella 2011-09-14 03:51:58

9 réponses

le plugin org.eclipse.m2e:lifecycle-mapping n'existe pas réellement. Il doit être utilisé à partir de la section <build><pluginManagement> de votre pom.xml . De cette façon, ce n'est pas résolu par Maven mais peut être lu par m2e.

mais une solution plus pratique à votre problème serait d'installer le connecteur build-helper m2e dans eclipse. Vous pouvez l'installer à partir de la Window > Preferences > Maven > Discovery > Open Catalog . De cette façon build-helper-maven-plugin:add-sources serait appelé dans eclipse sans que vous changiez votre pom.xml .

106
répondu Fred Bricon 2015-04-24 14:22:50

essayez d'utiliser la section build/pluginManagement , par exemple:

<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>

voici un exemple pour générer un manifeste de faisceau pendant la compilation incrémentale à L'intérieur D'Eclipse:

<build>
    <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.felix</groupId>
                                    <artifactId>maven-bundle-plugin</artifactId>
                                    <versionRange>[1.0.0,)</versionRange>
                                    <goals>
                                        <goal>manifest</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>2.3.7</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                </instructions>
            </configuration>
            <executions>
                <execution>
                    <id>manifest</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>manifest</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

versionRange est nécessaire, si omise m2e (à partir de 1.1.0) lancera NullPointerException.

10
répondu Hendy Irawan 2012-07-15 08:55:50

vous pouvez utiliser ce plugin factice:

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

après avoir généré le projet installer/déployer.

8
répondu Manfred Hantschel 2012-02-14 11:22:15

Voici comment je fais: j'ai mis le plugin de mapping du cycle de vie de m2e dans un profil séparé au lieu de la section par défaut . le profil est auto-activé pendant les constructions eclipse par la présence d'une propriété m2e (au lieu de l'activation manuelle dans les paramètres.xml ou autre). cela permettra de gérer les cas m2e, tandis que Maven en ligne de commande sautera simplement le profil et le plugin M2E lifecycle-mapping sans aucun avertissement, et tout le monde est content.

<project>
  ...
  <profiles>
    ...
    <profile>
      <id>m2e</id>
      <!-- This profile is only active when the property "m2e.version"
        is set, which is the case when building in Eclipse with m2e. -->
      <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>
                <lifecycleMappingMetadata>
                  <pluginExecutions>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>...</groupId>
                        <artifactId>...</artifactId>
                        <versionRange>[0,)</versionRange>
                        <goals>
                          <goal>...</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>

                        <!-- either <ignore> XOR <execute>,
                          you must remove the other one. -->

                        <!-- execute: tells m2e to run the execution just like command-line maven.
                          from m2e's point of view, this is not recommended, because it is not
                          deterministic and may make your eclipse unresponsive or behave strangely. -->
                        <execute>
                          <!-- runOnIncremental: tells m2e to run the plugin-execution
                            on each auto-build (true) or only on full-build (false). -->
                          <runOnIncremental>false</runOnIncremental>
                        </execute>

                        <!-- ignore: tells m2eclipse to skip the execution. -->
                        <ignore />

                      </action>
                    </pluginExecution>
                  </pluginExecutions>
                </lifecycleMappingMetadata>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    ...
  </profiles>
  ...
</project>
4
répondu Robin479 2014-02-05 10:14:36

j'ai ouvert un bug (trivial) pour cela à m2e. Votez pour si vous voulez que le message d'avertissement soit parti pour de bon...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=367870

3
répondu Ben 2012-01-04 16:39:11

j'ai eu le même problème, où:

Pas de marché les entrées trouvées pour gérer construire-helper-maven-plugin:1.8:ajoutez-source Eclipse. Consultez l'Aide pour plus d'informations.

et en cliquant sur la fenêtre > Préférences > Maven > Discovery > le bouton Ouvrir catalogue ne signalerait aucune connexion.

mise à jour de 7u40 à 7u45 sur Centos 6.4 et OSX corrige le problème.

3
répondu user145880 2013-10-16 19:25:27

Maven essaie de télécharger l'artefact de cartographie du cycle de vie de m2e, que M2E utilise pour déterminer comment traiter les plugins dans Eclipse (ajout de dossiers source, etc.). Pour une raison que cet artefact ne peut pas être téléchargé. Avez-vous une connexion internet? D'autres artefacts peuvent-ils être téléchargés à partir de dépôts? Les paramètres de Proxy?

pour plus de détails sur Maven, essayez d'activer la sortie de débogage M2E (paramétrage/Maven/Debug Output checkbox) et cela pourrait vous donner plus de détails comme pourquoi il ne peut pas télécharger à partir du référentiel.

1
répondu prunge 2011-09-14 03:56:32

m2e 1.7 introduit une nouvelle syntaxe pour les métadonnées de cartographie du cycle de vie qui ne cause plus cet avertissement:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
    <execution>

        <!-- This executes the goal in Eclipse on project import.
             Other options like are available, eg ignore.  -->
        <?m2e execute?>

        <phase>generate-sources</phase>
        <goals><goal>add-source</goal></goals>
        <configuration>
            <sources>
                <source>src/bootstrap/java</source>
            </sources>
        </configuration>
    </execution>
</executions>
</plugin>
1
répondu Arend v. Reinersdorff 2017-02-14 19:13:31

il se produit en raison d'une configuration de plugin manquante (selon Vaadin demo pom.xml commentaire):

cette configuration de plugin est utilisée pour stocker les paramètres Eclipse m2e seulement. Il n'a aucune influence sur le Maven construire lui-même.

<pluginManagement>
    <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e ettings only. It has no influence on the Maven build itself.-->
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>com.vaadin</groupId>
                                <artifactId>
                                    vaadin-maven-plugin
                                </artifactId>
                                <versionRange>
                                    [7.1.5,)
                                </versionRange>
                                <goals>
                                    <goal>resources</goal>
                                    <goal>update-widgetset</goal>
                                    <goal>compile</goal>
                                    <goal>update-theme</goal>
                                    <goal>compile-theme</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <ignore></ignore>
                            </action>
                        </pluginExecution>
                    </pluginExecutions>
                </lifecycleMappingMetadata>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>
0
répondu falsarella 2015-04-27 19:55:42