maven 2 - run - m2e ciclo de vida-mapeo no encontrado
maven para eclipse oxygen (9)
Así es como lo hago: puse el complemento de mapeo de ciclo de vida de m2e en un perfil separado en lugar de la sección <build> predeterminada. el perfil se activa automáticamente durante las construcciones de eclipse mediante la presencia de una propiedad m2e (en lugar de la activación manual en settings.xml o de otro modo). esto manejará las cajas de m2e, mientras que maven de línea de comandos saltará el perfil y el plugin de asignación de ciclo de vida m2e sin ninguna advertencia, y todo el mundo está contento.
<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>
Estoy tratando de usar la solución que se describe aquí para resolver la molesta "ejecución del complemento no cubierta por la configuración del ciclo de vida: org.codehaus.mojo: build-helper-maven-plugin: 1.7: add-source (ejecución: por defecto, fase: generar- fuentes) "cuando coloco el siguiente complemento en mi 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>
Pero cuando ejecuto mvn clean install obtengo esto:
Motivo: POM ''org.eclipse.m2e: ciclo de vida-mapeo'' no encontrado en el repositorio: no se puede descargar el artefacto de cualquier repositorio
¿Alguien tiene una pista sobre cómo hacer que m2e y maven sean felices?
El complemento org.eclipse.m2e:lifecycle-mapping
no existe en realidad. Debe usarse desde la sección <build><pluginManagement>
de su pom.xml
. De esta forma, Maven no lo resuelve, pero se puede leer por m2e.
Pero una solución más práctica a su problema sería instalar el conector m2e build-helper en eclipse. Puede instalarlo desde la Window
> Preferences
> Maven
> Discovery
> Open Catalog
. De esa forma build-helper-maven-plugin:add-sources
se llamaría en eclipse sin tener que cambiar tu pom.xml
.
Estaba teniendo el mismo problema, donde:
No se encontraron entradas en el mercado para manejar build-helper-maven-plugin: 1.8: add-source en Eclipse. Por favor, mira Ayuda para más información.
y hacer clic en el botón Ventana> Preferencias> Maven> Descubrimiento> abrir catálogo no informaría ninguna conexión.
La actualización de 7u40 a 7u45 en Centos 6.4 y OSX corrige el problema.
He abierto un error (trivial) para esto en m2e. Vota por ello si quieres que el mensaje de advertencia desaparezca para siempre ...
Intenta usar la sección build/pluginManagement
, por ejemplo:
<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>
Aquí hay un ejemplo para generar el manifiesto del paquete durante la compilación incremental dentro de 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>
Se requiere versionRange, si se omite m2e (a partir de 1.1.0) lanzará NullPointerException.
Maven intenta descargar el artefacto de mapeo del ciclo de vida de m2e, que M2E usa para determinar cómo procesar los complementos dentro de Eclipse (agregar carpetas fuente, etc.). Por alguna razón, este artefacto no se puede descargar. ¿Tienes una conexión a internet? ¿Se pueden descargar otros artefactos de los repositorios? ¿Configuración de proxy?
Para obtener más detalles de Maven, intente convertir la salida de depuración de M2E en la casilla (Configuración / Maven / Salida de depuración) y podría darle más detalles sobre por qué no se puede descargar desde el repositorio.
Puedes usar este plugin ficticio:
mvn archetype:generate -DgroupId=org.eclipse.m2e -DartifactId=lifecycle-mapping -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-mojo
Después de generar el proyecto, instálelo / impleméntelo.
Sucede debido a una configuración de complemento faltante (según el comentario demo de vaadin pom.xml ):
La configuración de este complemento se usa para almacenar configuraciones Eclipse m2e solamente. No tiene influencia en la construcción de Maven.
<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>
m2e 1.7 introduce una nueva sintaxis para los metadatos del mapeo del ciclo de vida que ya no causa esta advertencia:
<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>