para - maven eclipse tutorial
Cómo resolver la "Ejecución del complemento no cubierta por la configuración del ciclo de vida" para Spring Data Maven Builds (30)
- Vaya a Ayuda> Instalar nuevo software ...
Usa este repositorio de software
Asegúrese de que la opción "Contactar todos los sitios de actualización durante la instalación para encontrar el software requerido" esté marcada.
Instalar el Configurador de m2e AJDT
Fuente: Actualización de la integración de Maven para SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)
Esto debería instalar automáticamente ADJT si no lo tiene instalado, pero si no lo tiene, primero instale AspectJ Development Tools (ADJT) desde el "sitio de actualización de Indigo" (según su versión de Eclipse).
Más información en el sitio de herramientas de desarrollo de AspectJ .
Estoy tratando de trabajar con Spring Data y Neo4j . Comencé intentando seguir esta guía vinculada al sitio principal. En particular, basé mi pom.xml en "Hello, World!" archivo de ejemplo Aquí hay un recorte de mi pom.xml para el complemento que está causando los problemas ...
<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<outxml>true</outxml>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
<aspectLibrary>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
El error que estoy viendo es:
Multiple annotations found at this line:
- Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
- Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)
Estoy ejecutando Eclipse 3.6.2 y m2e 0.13. No soy un experto de Maven, así que por favor sea muy explicativo en sus respuestas si es posible.
También probé m2e 1.0.0 a través de este sitio de actualización y sigo teniendo el mismo error.
Cambiando
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>
dentro
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
resuelto el problema para mi
Como un addendum a las respuestas anteriores, hay una solución que acabo de descubrir si no puede o no desea agregar todo este texto al POM de su proyecto. Si te fijas en la siguiente ubicación:
{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}
Debe encontrar un archivo llamado lifecycle-mapping-metadata.xml
donde puede realizar los mismos cambios descritos en las otras respuestas y en la https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
Consulte https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .
Para resolver algunos problemas de larga data, m2e 1.0 requiere instrucciones explícitas sobre qué hacer con todos los complementos de Maven vinculados a fases "interesantes" del ciclo de vida de la construcción del proyecto. Llamamos a estas instrucciones "mapeo del ciclo de vida del proyecto" o simplemente "mapeo del ciclo de vida" porque definen cómo m2e mapea la información desde el archivo pom.xml del proyecto hasta la configuración y el comportamiento del proyecto del espacio de trabajo de Eclipse durante la compilación del espacio de trabajo de Eclipse.
La configuración del mapeo del ciclo de vida de la construcción del proyecto se puede especificar en el proyecto pom.xml, contribuido por los complementos de Eclipse y también hay una configuración predeterminada para algunos complementos de Maven que se utilizan comúnmente y que se envían con m2e. Llamamos a estas "fuentes de metadatos de mapeo del ciclo de vida". m2e creará un marcador de error como el siguiente para todas las ejecuciones de complementos que no tengan mapeo de ciclo de vida en ninguna de las fuentes de metadatos de mapeo.
Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (execution: generate-sources-input, phase: generate-sources)
m2e hace coincidir las ejecuciones de complementos con las acciones utilizando la combinación de Id. de grupo, Id. de artefacto, rango de la versión y objetivo. Hay tres acciones básicas que se pueden indicar a m2e para hacer una ejecución de complemento: ignorar , ejecutar y delegar a un configurador de proyectos.
Donde encontrar WTP:
Haga clic hacia abajo sobre <plugin> en pom.xml y ''Descubra nuevos conectores m2e''.
Los instalé todos los que están comprobados por defecto y funciona.
En Eclipse Luna 4.4.0, puede optar por ignorar este error en las preferencias
Ventana > Preferencias > Maven > Errores / Advertencias > La ejecución del complemento no está cubierta por la configuración del ciclo de vida . Seleccione Ignorar / Advertencia / Error como desee.
Además, en la solución rápida (Ctrl + 1) para este error, ofrece una opción para marcar el objetivo como ignorado en la compilación de Eclipse en las preferencias de Eclipse (experimental)
Esta es una forma más limpia, ya que no modifica su pom.xml
.
Necesitará hacer un proyecto Maven > Actualizar para corregir el mismo error en cualquier otro proyecto también.
En lugar de desordenar su archivo pom, le sugeriría que vaya a Mostrar vista → Marcadores en Eclipse, seleccione y elimine los marcadores de los errores apropiados.
En mi caso de un problema similar, en lugar de utilizar la sugerencia de Andrew para la solución, funcionó simplemente después de que introdujera la etiqueta <pluginManagement> en el pom.xml en cuestión. Parece que ese error se debe a la falta de la etiqueta <pluginManagement>. Entonces, para evitar las excepciones en Eclipse, uno necesita simplemente encerrar todas las etiquetas de complementos dentro de una etiqueta <pluginManagement> , así:
<build>
<pluginManagement>
<plugins>
<plugin> ... </plugin>
<plugin> ... </plugin>
....
</plugins>
</pluginManagement>
</build>
Una vez que esta estructura está en su lugar, el error desaparece.
Encontré esto usando Eclipse v4.3 (Kepler) y Maven 3.1.
La solución es usar un JDK y no un JRE para su proyecto Eclipse. Asegúrese de probar maven clean
y pruebe desde Eclipse solo para descargar los archivos JAR que faltan.
Encontré exactamente el mismo problema con el plugin de ahorro de maven. Aquí está mi solución que no requiere la necesidad de desordenar su pom.xml:
Use la línea de comandos maven utilidad mvn
eclipse mvn: eclipse
para crear un proyecto de eclipse
Importar el proyecto en eclipse. Recuerda usar
Archivo> Importar> General> Proyectos existentes en el área de trabajo
para agregar el proyecto a su espacio de trabajo.
Esto debería solucionar el problema.
Esta respuesta es igual de buena que la respuesta superior de administración de complementos de arriba (es decir, es terrible).
Simplemente borre todo el código xml ofensivo en el pom.
Hecho. Problema resuelto (excepto que acabas de romper tu configuración maven ...).
Los desarrolladores deben tener mucho cuidado de entender las etiquetas de administración de complementos antes de realizar cualquiera de estas soluciones. El simple hecho de abofetear la administración de plugins alrededor de tus plugins es aleatorio es probable que rompa la construcción de Maven para que todos los demás puedan hacer que Eclipse funcione.
Estaba usando
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>runSomeAntTasks</id>
<phase>test-compile</phase>
.
.
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
y lo cambió a
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>runSomeAntTasks</id>
<phase>integration-test</phase>
.
.
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
y el error se fue. Tal vez no se recomienda vincular una ejecución a la fase de compilación de prueba, por lo que encontrar una fase diferente podría ser una solución alternativa para agregar la configuración de administración de complementos al ciclo de vida de Maven.
Este error ocurre también en el neón debido a la falta de conector m2e. Solución: error de desplazamiento y selección: descubrir nuevos conectores m2e.
Se instalará nuevo conector y eso es todo.
He tenido el mismo problema con índigo y un proyecto que necesita generar fuentes Java desde XSD.
Podría arreglarlo proporcionando el mapeo de ciclo de vida faltante, como se describe en https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html
La forma más rápida de resolver esto es (de la documentación de Eclipse m2e ):
use la solución rápida del error en pom.xml y seleccione Marcar de forma
Permanently mark goal run in pom.xml as ignored in Eclipse build
; esto generará el código de repetición requerido para usted.Después de eso, simplemente reemplace la etiqueta
<ignore/>
con la etiqueta<execute/>
en la configuración generada y listo:<action> <execute/> </action>
Lo arreglé después de la publicación del blog Actualizando la integración de Maven para SpringSource Tool Suite 2.8.0 .
Siga los consejos en la sección llamada " Oh, oh ... mis proyectos ya no se construyen ". Incluso cuando está destinado a SpringSource Tool Suite, lo usé para arreglar una instalación regular de Eclipse. No tuve que modificar mis archivos pom.
Para mí esto fue causado por las clases de AspectJ. No pude encontrar un complemento en Discovery que pudiera ayudar. Entonces, lo arreglé copiando los archivos org.maven.ide.eclipse.ajdt, en las carpetas de complementos y funciones, de una instalación STS existente.
Lo sé, enfoque muy grosero.
Que desastre. No recuerdo dónde encontré esto, pero tuve que agregar lo siguiente para que M2Eclipse fuera feliz. Aún más triste es que no es exactamente fácil entender por qué se necesita esta etiqueta.
<build>
... various plugins ...
<pluginManagement>
<plugins>
<!--This plugin''s configuration is used to store Eclipse
m2e settings 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>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Hubo una serie de otros problemas con el complemento M2Eclipse que simplemente no funcionó con Spring Data. Al final, deshabilité M2Eclipse en favor del complemento Apache Eclipse .
Seguí la sugerencia de la GUI para encontrar cualquier conector, y luego encontré AspectJ Integrator del equipo de SpringSource. Después de la instalación fue resuelto.
Si está utilizando Eclipse Juno, podría ser el problema de Maven Integration For Eclipse WTP . Así que instálalo desde Eclipse Market Place.
En la Ayuda de Eclipse IDE >> Eclipse Market Place >> escriba la consulta wtp y mostrará la integración de maven para WTP de Eclipse para Juno, instálela y actualice las dependencias de maven y disfrute
Tenga en cuenta que la versión 1.7.0 de M2Eclipse (m2e) disponible en el tren de lanzamiento de Eclipse Neon de hoy es compatible con la nueva sintaxis para especificar metadatos de mapeo del ciclo de vida. Como resultado, esto es así (aquí le estamos diciendo a m2e que ignore el objetivo):
<pluginManagement>
<plugins>
<!--This plugin''s configuration is used to store Eclipse m2e settings 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>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<versionRange>[1.5.0,)</versionRange>
<goals>
<goal>exec</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
se puede reemplazar con una sola línea en el nodo de ejecución del complemento:
<?m2e ignore?>
Tengo el mismo error. Después de hacer lo siguiente se fue.
- Haga clic derecho en el proyecto.
- Seleccione Maven> Actualizar proyecto ...
Tuve el mismo problema con Eclipse v3.7 (Indigo) y m2eclipse como mi plugin de Maven. El error se resolvió fácilmente al indicar explícitamente la fase de ejecución dentro de la definición del complemento. Así que mi pom se ve así:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
</configuration>
<executions>
<execution>
*<phase>post-clean</phase>*
<goals>
<goal>create-timestamp</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
...
Tuve el mismo problema exacto después de actualizar m2e y lo resolví reinstalando Maven Integration for Eclipse WTP.
Resulta que lo desinstalé intentando actualizar m2e de la versión 0.xa la 1.x
Tuve este problema hoy. Estaba usando STS 3.4 con su paquete Roo 1.2.4. Más tarde probé con Eclipse Kepler y Roo 1.2.5, el mismo error.
He cambiado mi pom.xml agregando la etiqueta pluginTemplates después de la compilación y antes de la declaración de complementos, pero no funcionó.
Lo que hizo la magia para mí:
- Usando jdk 1.7.0_51
- Descargado Roo 1.2.5
- Maven 3.2.1 descargado (si no, cuando se ejecuta "realizar eclipse" aparece este error "error = 2, no existe tal archivo o directorio")
Configuré los directorios de JDK, Roo y Maven bin en mi RUTA:
export PATH = / opt / jdk1.7.0_51 / bin: $ PATH export PATH = / opt / spring-roo-1.2.5.RELEASE / bin: $ PATH export PATH = / opt / apache-maven-3.2.1 / bin : $ PATH
Hice mi configuración de la siguiente manera: ( http://docs.spring.io/spring-roo/reference/html/beginning.html )
$ mkdir hello
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT
roo> web mvc setup
roo> perform eclipse
Abrir con Eclipse (nada de STS, pero supongo que funciona): Importar -> Proyectos existentes en Workspace
Use m2e 0.12 , última versión de Sonatype.
Vaya al workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
luego cree el archivo workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
lifecycle-mapping-metadata.xml
y pegue a continuación y vuelva a cargar la configuración como se muestra a continuación
Si está utilizando Eclipse 4.2 y tiene problemas con la asignación y no creará problemas en el suyo pom.xml
cree un nuevo lifecycle-mapping-metadata.xml
archivo lifecycle-mapping-metadata.xml
configúrelo en Windows -> Preferences -> Lifecycle mapping
(no olvide presionar Recargar) metadatos de asignaciones del ciclo de vida del espacio de trabajo después de cada cambio de este archivo!). Aquí hay un ejemplo basado en eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<goals>
<goal>create-timestamp</goal>
</goals>
<versionRange>[0.0,)</versionRange>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<goals>
<goal>list</goal>
</goals>
<versionRange>[0.0,)</versionRange>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<goals>
<goal>generate</goal>
</goals>
<versionRange>[0.0,)</versionRange>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<goals>
<goal>compile</goal>
</goals>
<versionRange>[0.0,)</versionRange>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<goals>
<goal>copy-dependencies</goal>
<goal>unpack</goal>
</goals>
<versionRange>[0.0,)</versionRange>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.7,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<versionRange>[2.8,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
m2e 0.13 introduce conectores m2e y m2e Market Place para ampliar las características m2e. Es como el antiguo repositorio de m2e-extras.
Puede acceder a la plaza del mercado m2e desde las preferencias: Preferencias> Maven> Descubrimiento> Abrir catálogo . Instalar la integración WTP resolvió la mayoría de los problemas de plugins para mí.
puede suprimir este error en eclipse: Ventana -> Preferencias -> Maven -> Error / Advertencias