Cómo resolver la "ejecución de complementos no cubierta por la configuración del ciclo de vida" para compilaciones de datos de primavera

StackOverflow https://stackoverflow.com/questions/6352208

Pregunta

Estoy tratando de trabajar con Datos de resorte y neo4j. Empecé tratando de seguir esta guía vinculado a por el sitio principal. En particular, basé mi pom.xml en el "¡Hola Mundo!" archivo de ejemplo. Aquí hay un francotirador 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 en Maven, así que sea muy explicativo en sus respuestas si es posible.

También he probado M2E 1.0.0 a través de Este sitio de actualización y aún obtenga el mismo error.

¿Fue útil?

Solución

En mi caso de un problema similar, en lugar de usar la sugerencia de Andrew para la solución, funcionó simplemente después de que introduje u003CpluginManagement> Etiqueta al pom.xml en cuestión. Parece que ese error se debe a una faltau003CpluginManagement> etiqueta. Entonces, para evitar las excepciones en Eclipse, uno debe simplemente encerrar todas las etiquetas de complemento dentro de un u003CpluginManagement> Etiqueta, así:

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

Una vez que esta estructura está en su lugar, el error desaparece.

Otros consejos

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 funcionaban con los datos de Spring. Al final, deshabilité m2eclipse a favor del Apache Eclipse Plug-in.

Solución sugerida de Eclipse M2E Documentación:

  1. Usar arreglo rapido en el error en pom.xml y seleccionar Permanently mark goal run in pom.xml as ignored in Eclipse build - Esto generará el código Boilerplate requerido para usted.

  2. Para instruir a Eclipse que ejecute su complemento durante la compilación, simplemente reemplace el <ignore/> etiquetar con <execute/> Etiqueta en la configuración generada:

    <action>
        <execute/>
    </action>
    

    Alternativamente, puede instruir a Eclipse para ejecutar el complemento en compilaciones incrementales también:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    

En Eclipse Luna 4.4.0, puede optar por ignorar este error en las preferencias

Ventana > Preferencias > Aturdir > Errores/advertencias > Ejecución de complementos no cubierto por la configuración del ciclo de vida. Seleccione Ignorar / advertencia / error como desées.

Además, en la solución rápida (CTRL + 1) para este error, ofrece una opción para marcar el objetivo como se ignora en la construcción de eclipse en las preferencias de eclipse (experimental)

Esta es una forma más limpia, ya que no modifica su pom.xml.

Necesitarás hacer un Aturdir > Proyecto de actualización Para corregir el mismo error en cualquier otro proyecto también.


En STS (Spring-Tool-Suite), puede elegir ignorar este error en las preferencias

Ventana> Preferencias> Maven> Errores/Advertencias> Ejecución de complementos no cubierto por la configuración del ciclo de vida. Seleccione Ignorar / Advertencia / Error como su deseo. Después. Haga clic con el botón derecho en el proyecto, haga clic en Maven y actualice el proyecto y luego desaparecerá.

Ver 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 qué hacer con todos los complementos Maven vinculados a fases "interesantes" del ciclo de vida de construcción del proyecto. Llamamos a estas instrucciones "Mapeo del ciclo de vida de compilación del proyecto" o simplemente "mapeo del ciclo de vida" porque definen cómo M2E mapea la información del archivo Pom.xml para eclipse la configuración y el comportamiento del Proyecto del espacio de trabajo durante la construcción del espacio de trabajo de Eclipse.

La configuración de mapeo del ciclo de vida de compilación del proyecto se puede especificar en Project Pom.xml, contribuido con complementos de eclipse y también hay una configuración predeterminada para algunos complementos Maven de uso común enviados con M2E. Llamamos a estas "fuentes de metadatos de mapeo del ciclo de vida". M2E creará un marcador de error como a continuación para todas las ejecuciones de complementos que no tienen mapeo del 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 coincide con las ejecuciones de complementos con acciones utilizando la combinación de complementos groupId, artefactID, rango de versiones y objetivo. Hay tres acciones básicas que M2E puede recibir instrucciones para hacer con una ejecución de complementos, pasar por alto, ejecutar y delegar a un proyecto configurador.

m2e 0.13 introducir un conectores M2E y M2E Market Place Para extender las características M2E. Es como el antiguo repositorio M2E-Extras.

Puede acceder al mercado M2E desde las preferencias: Preferencias> Maven> Descubrimiento> Catálogo abierto. Instalación Integración WTP resolvió la mayoría de los problemas de complemento para mí.

Cambie las preferencias Maven para la ejecución del complemento del error para ignorar

Tenga en cuenta que la versión 1.7.0 de M2ECLIPSE (M2E) disponible en el tren de liberación de neón Eclipse de hoy admite una nueva sintaxis para especificar metadatos de mapeo del ciclo de vida. Como resultado, la caldera como esta (aquí estamos diciéndole 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?>

enter image description here

Ver el Notas de lanzamiento para detalles.

Como un anexo a las respuestas anteriores: hay una solución que acabo de descubrir si no puede o no quiere agregar toda esta calderera a su proyecto de proyecto. Si mira 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 hacer los mismos cambios descritos en las otras respuestas y en Ejecución del complemento M2E no cubierto.

Tuve el mismo problema con Eclipse V3.7 (Indigo) y M2EClipse como mi complemento Maven. El error se resolvió fácilmente indicando explícitamente la fase de ejecución dentro de la definición del complemento. Entonces 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>
        ...
  1. Vaya a ayudar> Instalar un nuevo software ...
  2. Utilizar este repositorio de software

    Asegúrese de que se verifique "contactar todos los sitios de actualización durante la instalación para encontrar el software requerido".

  3. Instale el configurador AJDT M2E

Fuente: Actualización de la integración 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 es así, instale las herramientas de desarrollo de SuppectJ (ADJT) primero desde el "sitio de actualización de índigo" (según su versión de Eclipse).

Más información sobre Sitio de herramientas de desarrollo de SuppectJ.

Ir workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml Entonces crear lifecycle-mapping-metadata.xml Archivo 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 el mapeo y no pondrá un desastre en el suyo pom.xml crear un archivo nuevo lifecycle-mapping-metadata.xml Configurarlo en Windows -> Preferences -> Lifecycle mapping (No olvide presione los metadatos de asignación del ciclo de vida del espacio de trabajo de recarga 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>

He tenido el mismo problema con Indigo y un proyecto que necesita generar fuentes de Java de XSD.
Podría arreglarlo suministrando el mapeo de ciclo de vida perdido, como se describe en esta página

Lo arreglé después de la publicación del blog Actualización de la integración Maven para Springsource Tool Suite 2.8.0.

Siga los consejos sobre la sección llamada "Uh oh ... mis proyectos ya no se construyen". Incluso cuando está destinado a SpringSource Tool Suite, lo usé para solucionar una instalación regular de Eclipse. No tuve que modificar mis archivos POM.

Usar M2E 0.12, Última versión de Sonatype.

Este error también ocurre en el neón debido a la falta de conector M2E. Solución: Error de desplazamiento y seleccione: descubra nuevos conectores M2E.

Instalará un nuevo conector y eso es todo.

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 desapareció. Tal vez no se recomienda unir 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 gestión del complemento al ciclo de vida de Maven.

Donde encontrar wtp:

Mouse hacia abajo en <glugin> en Pom.xml y 'Descubra nuevos conectores M2E'.

Les instalé a todos lo que se verifican por defecto y funciona.

Tuve exactamente el mismo problema después de actualizar M2E y resuelto reinstalando la integración de Maven para Eclipse WTP.

Resulta que lo desinstalé tratando de actualizar M2E de la versión 0.x a 1.x

Tuve este problema hoy. Estaba usando STS 3.4 con su Roo Bundled 1.2.4. Más tarde lo intenté con Eclipse Kepler y Roo 1.2.5, el mismo error.

He cambiado mi etiqueta Pom.xml agregando plugintsplates después de la compilación y antes de la declaración de complementos, pero no funcionó.

¿Qué me hizo la magia?

  • Usando JDK 1.7.0_51
  • Descargado ROO 1.2.5
  • Descargado Maven 3.2.1 (si no, cuando se ejecuta "Realizar eclipse" este error aparece "Error = 2, no hay dicho archivo o directorio")
  • Configurados directorios JDK, ROO y Maven Bin en mi ruta:

    exportación ruta =/opt/jdk1.7.0_51/bin: $ ruta exportación ruta =/opt/spring-roo-1.2.5.release/bin: $ rath exportar ruta =/opt/apache-maven-3.2.1/bin : $ Ruta

Hice mi configuración a continuación: (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

Abra con Eclipse (nada de STS, pero supongo que funciona): Importar -> Proyectos existentes en el espacio de trabajo

Encontré exactamente el mismo problema con el complemento de segunda mano de Maven. Aquí está mi solución que no requiere necesidad de estropear su pom.xml:

  1. Use la línea de comandos Maven Utility MVN

    MVN Eclipse: Eclipse

    Para crear un proyecto de eclipse

  2. Importar el proyecto en Eclipse. Recuerda usar

    Archivo> importación> General> Proyectos existentes en el espacio de trabajo

    Para agregar el proyecto a su espacio de trabajo.

Esto debería solucionar el problema.

En lugar de estropear su archivo POM, le sugiero que vaya a Visión de exhibiciónMarcadores En Eclipse, seleccione y elimine los marcadores de errores apropiados.

Si está utilizando Eclipse Juno, podría ser el problema de Integración Maven para Eclipse WTP . Así que instale lo mismo desde Eclipse Market Place.

En Eclipse IDE Ayuda >> Eclipse Market Place >> Escriba la consulta WTP y mostrará la integración de Maven para Eclipse WTP para Juno, instálelo y actualice las dependencias de Maven y disfrute

Esta respuesta es igual de buena respuesta de gestión de complementos anterior (es decir, es terrible).

Simplemente elimine 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, entienden las etiquetas de gestión de complementos antes de hacer cualquiera de estas soluciones. Es probable que la gestión de complementos solo la gestión de los complementos sea aleatoria que rompa la construcción de Maven para todos los demás solo para que Eclipse funcione.

Puede suprimir este error en Eclipse: Window -> Preferencias -> Maven -> Error/Advertencias

Cambiando

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

dentro

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

Resolvió el problema para mí.

Seguí la pista de GUI para encontrar cualquier conector, y luego encontré el integrador de SpringSource. Después de la instalación se estableció.

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úrate de probar maven clean y pruebe desde Eclipse solo para descargar archivos JAR faltantes.

Para mí esto fue causado por las clases de SuppectJ. No pude encontrar un complemento en Discovery que pudiera ayudar. Entonces, solucioné esto copiando los archivos org.maven.ide.eclipse.ajdt, en carpetas de complemento y características, de una instalación de STS existente.

Lo sé, un enfoque muy grosero.

Tengo el mismo error. Después de hacer lo siguiente, desapareció.

  1. Haga clic derecho en el proyecto.
  2. Seleccione Maven> Proyecto de actualización ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top