Cómo resolver "La ejecución del complemento no está cubierta por la configuración del ciclo de vida" para Spring Data Maven Builds

907

Estoy tratando de trabajar con Spring Data y Neo4j . Comencé tratando de seguir esta guía vinculada al sitio principal. En particular, basé mi pom.xml en "¡Hola, mundo!" Ejemplo de archivo . Aquí hay un fragmento 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, si es posible, sea muy explicativo en sus respuestas.

También probé m2e 1.0.0 a través de este sitio de actualización y sigo teniendo el mismo error.

Andrew White
fuente
1
¿Qué versión de maven estás usando? Spring Data (Graph) ha utilizado maven2 para su proceso de compilación (principalmente debido a problemas con el complemento docbook). (Por cierto, los proyectos de datos de primavera migrarán a gradle pronto :)
Michael Hunger
1
Para eclipse estoy usando el maven integrado 3.0.3 (lo que viene con m2e). ¿Todo Spring se está moviendo a gradle o solo Spring Data?
Andrew White
1
Olvídate de esto trabajando con Groovy. Qué pesadilla. Ni siquiera puedo usar Indigo ahora debido a esta parodia.
Spencer Kormos
¿Alguien puede compartir un enlace al lugar donde se documenta este nuevo modo de operación para M2E?
HDave

Respuestas:

1337

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 la etiqueta <pluginManagement> en el pom.xml en cuestión. Parece que ese error se debe a la falta de una etiqueta <pluginManagement>. Entonces, para evitar las excepciones en Eclipse, uno simplemente necesita encerrar todas las etiquetas del complemento dentro de una etiqueta <pluginManagement> , de esta manera:

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

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

Simeon Leyzerzon
fuente
29
También funciona para mí, pero ¿alguien puede explicar por qué?
Andrew Swan
89
@ Andrew Creo que esto funciona porque m2e no está buscando complementos pluginManagement, sino solo en build/plugins. En el mundo de Maven, hay una diferencia entre los dos: el primero define "si usa este complemento, aquí está la configuración para usar", mientras que el segundo dice "use este complemento". Vea esta publicación y sus dos respuestas principales.
GreenGiant
30
Estoy de acuerdo con @GreenGiant. Probé esta solución, pero luego rompe la compilación ya que el complemento Aspectj no se llama antes de la compilación.
Pierre
25
No valido para mi. Soluciona el error en Eclipse, pero interrumpe la generación de código WS con <goal> wsimport usando jaxws-maven-plugin. "Marcar permanentemente el objetivo wsimport en pom.xml como ignorado en la compilación de Eclipse" parece agregar más cosas en pom.xml y lo arregla para m2e.
nephewtom
33
Errrr ... Parece que eso solo funciona porque apaga todos los complementos en cuestión ... Eliminarlos por completo también funcionaría, pero supongo que están allí por alguna razón. Los desarrolladores deben asegurarse de que entienden absolutamente lo que están haciendo con Maven antes de usar esta "solución".
Michael Haefele
414

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 otros problemas con el complemento M2Eclipse que simplemente no funcionaban con Spring Data. Al final, deshabilité M2Eclipse a favor del complemento Apache Eclipse .

Andrew White
fuente
3
¿Qué repositorio de complementos aloja el complemento org.eclipse.m2e: lifecycle-mapping?
Nathan Feger
66
Si su eclipse no puede encontrar org.eclipse.m2e: plugin de mapeo del ciclo de vida, es porque colocó el fragmento arriba en la lista de complementos incorrecta en el pom, tiene que ir bajo pluginManagement
mkraemerx
65
nota: m2e 1.x puede hacer esto automáticamente como una Solución rápida desde la vista Problemas
Brad Cupit
77
Gracias: m2e me ofreció una 'solución rápida' para un complemento que no reconoció, que generó todo lo anterior excepto con <ignorar /> en lugar de <ejecutar />. ¡No ofrecía la opción <execute />, que funciona! ¡Enloquecedor!
laher
10
Sí, las cosas de <pluginmanagement> van bajo <build>. Se podría pensar que la página m2 mencionaría esta bagatela.
jjohn
217

En Eclipse Luna 4.4.0, puede elegir 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 .

Tendrá que hacer un proyecto Maven > Actualizar 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> La ejecución del complemento no está cubierta por la configuración del ciclo de vida. Seleccione Ignorar / Advertencia / Error como desee. Entonces. Haga clic derecho en el proyecto, haga clic en Maven y actualice el proyecto, luego desaparecerá el error.

ShaKa
fuente
Perfecto. Trabajó para mí sin problemas. Gracias por compartir.
Ajay Kumar
Lo utilicé también en el eclipse 2020-03, no estoy seguro de por qué el error salió esta vez cuando importé el proyecto, lo hice antes al menos 4 veces en otras computadoras sin ningún problema. Soy nuevo en eclipse. Tengo que decir que todavía entiendo cómo construye cosas, cuál de ellas y cuándo :-D
Financiador
Esta es la respuesta correcta. Gracias. Estoy usando Red Hat CodeReady Studio, que es una herramienta basada en Eclipse.
Igor Vuković
Un día de ahorro .. :) Esta solución funcionó para mí.
Jeetendra
¿Cómo es esto una solución? En lugar de que Eclipse se queje de que no está generando mi código fuente (marcando una línea en POM.XML con una X roja y el mensaje de error "La ejecución del complemento no está cubierta por la configuración del ciclo de vida"), con este cambio Eclipse simplemente no genera mi código fuente.
mbmast
212

Solución sugerida de la documentación de Eclipse m2e :

  1. Utilice la corrección rápida del error en pom.xml y seleccione Permanently mark goal run in pom.xml as ignored in Eclipse build: esto generará el código repetitivo requerido para usted.

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

    <action>
        <execute/>
    </action>

    Alternativamente, también puede indicar a Eclipse que ejecute el complemento en compilaciones incrementales:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
Vedran
fuente
66
También puede agregar <runOnIncremental>false|true</runOnIncremental>dentro de la etiqueta de ejecución, para hacer que eclipse llame a este complemento maven en compilaciones incrementales.
Matthias B
44
Esta solución también funcionó para mí, pero no fue necesario ejecutar el paso 2) de la solución propuesta.
Valerio Schiavoni
77
Si no los marca como "ejecutar", la construcción del eclipse no ejecutará esas ejecuciones de complementos, pero podría funcionar también.
mrod
Tenga en cuenta que también puede agregarlo globalmente a Eclipse con Permanently mark goal run in eclipse preferencesy cambiar <ignore> a <execute> en Preferencias de Eclipse> Maven> Asignaciones de ciclo de vida> Abrir metadatos de asignaciones de ciclo de vida del espacio de trabajo .
PhoneixS
2
Gracias, esta es la solución real. Agregar la etiqueta <pluginManagement> solo deshabilita el complemento.
user3804769
111

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 sobre qué hacer con todos los complementos de Maven vinculados a fases "interesantes" del ciclo de vida de construcción del proyecto. Llamamos a estas instrucciones "mapeo del ciclo de vida de la construcción del proyecto" o simplemente "mapeo del ciclo de vida" porque definen cómo m2e mapea la información del archivo pom.xml del proyecto a la configuración y el comportamiento del proyecto del espacio de trabajo de Eclipse durante la construcció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, aportado por los complementos de Eclipse y también hay una configuración predeterminada para algunos complementos Maven de uso común 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 tienen asignación de ciclo de vida en ninguna de las fuentes de metadatos de asignación.

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 del complemento con las acciones que utilizan la combinación de groupId del complemento, artifactId, rango de versiones y objetivo. Hay tres acciones básicas que m2e puede recibir instrucciones para ejecutar un complemento: ignorar , ejecutar y delegar en un configurador de proyectos .

Thomas Broyer
fuente
93
Esa es una explicación del problema, no una solución, al menos no una que pueda tomar y con la que pueda trabajar.
Andrew White
53
Usted mismo dio la respuesta y puede encontrarla en la página a la que hice el enlace. Si encuentra más importante comprender qué significa un error (y luego encontrar fácilmente cómo solucionarlo) que copiar / pegar algunos fragmentos a ciegas. "La ciencia sin conciencia no es más que la ruina del alma". (François Rabelais)
Thomas Broyer
22
Lo siento, pero estoy de acuerdo con Andrew, usar este complemento es mucho más complicado de lo que debería ser. Estaba comenzando una nueva aplicación y primero, aunque el problema era mi archivo pow, justo cuando pruebo un pow que sé que debería funcionar, vi que este problema fue causado por m2e. Lo siento chicos, pero creo que un buen archivo pow debería funcionar. Nadie sabe todo sobre todo, solo quiero usar este plugin, no quiero saber cómo funciona.
Nei
15
Tengo que estar de acuerdo en que esto ha ido en sentido contrario al manifiesto de Maven (por así decirlo). Hace que una cosa tan simple sea tan compleja que, incluso leyendo todo al respecto, no puedo hacer que funcione la mitad del tiempo. Prefiero tener que lidiar con alguna idiosincrasia de Maven que lidiar con complementos que no se vinculan a las fases del ciclo de vida cuando se supone que deben hacerlo. Si esta es una solución provisional, entonces está bien ... pero que lo arreglen porque ahora está roto.
Brill Pappin
13
No es Maven el que está cagando. Las construcciones desde la línea de comando funcionan. Es el complemento m2eclipse (creado por la gente de Eclipse) que está arrojando el error. Creo que el problema es que Maven tiene un ciclo de vida de compilación diferente al de Eclipse, por lo que necesitan que hagas una asignación explícita. Es una gran pena, ya que aparentemente nunca puedes usar POM como están. Siempre tiene que agregar este mapeo ....
Stijn de Witt
30

m2e 0.13 introduce conectores m2e y m2e Market Place para ampliar las características de m2e. Es como el antiguo repositorio m2e-extras.

Puede acceder al mercado de m2e desde las preferencias: Preferencias> Maven> Descubrimiento> Abrir catálogo . La instalación de la integración WTP resolvió la mayoría de los problemas de complementos para mí.

noirbizarre
fuente
1
No veo "integración WTP" en la lista. ¿Está utilizando algún catálogo no predeterminado?
Ed Staub
Estoy usando el catálogo predeterminado pero tienes razón: ya no lo veo.
noirbizarre
1
community.jboss.org/en/tools/blog/2011/06/23/… . Vea la actualización 2, de todos modos +1 para un gran desastre
prusswan
2
a partir de noviembre de 2011, se puede encontrar
m2e wtp
1
Funciona, agregue el sitio de actualización de esta url: download.jboss.org/jbosstools/updates/m2eclipse-wtp
27

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

kvm006
fuente
2
Realmente recomiendo que esta sea la nueva respuesta aceptada. Muchas otras soluciones evitarán que Maven ejecute el complemento por completo durante el paso de compilación especificado, que rara vez es lo que el usuario desea. Esto suele ser un problema de configuración, no un error real. El valor predeterminado de Eclipse debe ser Advertencia, no Error.
Nick Straguzzi
26

Tenga en cuenta que la versión 1.7.0 de M2Eclipse (m2e) disponible en el tren de lanzamiento de Eclipse Neon de hoy admite una nueva sintaxis para especificar metadatos de mapeo del ciclo de vida. Como resultado, repetitivo como este (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?>

ingrese la descripción de la imagen aquí

Consulte las notas de la versión para más detalles.

David
fuente
21

Como una adición a las respuestas anteriores: hay una solución alternativa que acabo de descubrir si no puede o no desea agregar toda esta plantilla al POM de su proyecto. Si buscas en la siguiente ubicación:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

Debería encontrar un archivo llamado lifecycle-mapping-metadata.xmldonde puede hacer los mismos cambios descritos en las otras respuestas y en la ejecución del complemento M2E no cubierto .

Htompkins
fuente
66
También puede editar el WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlarchivo en lugar de jugar con los frascos. Más detalles se pueden encontrar en Preferences > Maven > Lifecycle Mappings. Además, si selecciona la solución rápida "Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)", agregaría todos los cambios necesarios al archivo anterior.
Nufail
17

Tuve el mismo problema con Eclipse v3.7 (Indigo) y m2eclipse que mi complemento Maven. El error se resolvió fácilmente al indicar 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>
        ...
Kristiaan
fuente
10
  1. Vaya a Ayuda> Instalar nuevo software ...
  2. Utilizar este repositorio de software

    Asegúrese de que "Verificar todos los sitios de actualización durante la instalación para encontrar el software requerido" esté marcado.

  3. Instale el configurador AJDT m2e

Fuente: Actualización de la integración de Maven para SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

Esto debería instalar ADJT automáticamente si no lo tiene instalado, pero si no lo hace, instale AspectJ Development Tools (ADJT) primero desde el "sitio de actualización de Indigo" (según su versión de Eclipse).

Más información en el sitio de AspectJ Development Tools .

Hendy Irawan
fuente
Lo intenté pero recibí el error: Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found
Mahmoud Saleh
Msaleh, prueba mi respuesta revisada
Hendy Irawan
9

workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlLuego, vaya a crear el lifecycle-mapping-metadata.xmlarchivo y péguelo 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 va a poner el lío en el suyo, pom.xmlcree un nuevo archivo, lifecycle-mapping-metadata.xmlconfigúrelo Windows -> Preferences -> Lifecycle mapping (no olvide presionar Volver a cargar metadatos de asignaciones del ciclo de vida del espacio de trabajo después de cada cambio de este archivo). Aquí hay un ejemplo basado eneclipse/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>
fatih tekin
fuente
9

He tenido el mismo problema con índigo y un proyecto que necesita generar fuentes Java desde XSD.
Podría solucionarlo proporcionando el mapeo del ciclo de vida que falta, como se describe en esta página

Tillmann
fuente
8

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

Siga los consejos en la sección llamada " Uh oh ... mis proyectos ya no se compilan ". 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.

Chepech
fuente
1
El último recurso es volver a una versión anterior de m2e o el IDE que usa.
Chepech
5

Utilice m2e 0.12 , última versión de Sonatype.

Oh Chin Boon
fuente
5

Este error también ocurre en neón debido a la falta del conector m2e. Solución: error de desplazamiento y seleccione: descubrir nuevos conectores m2e.

Instalará un nuevo conector y eso es todo.

Tamer Awad
fuente
4

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

Beto
fuente
4

Donde encontrar WTP:

Pase el mouse sobre <plugin> en pom.xml y 'Descubrir nuevos conectores m2e'.

Los instalé todos los que están marcados por defecto y funciona.

siOnzee
fuente
4

Tuve exactamente el mismo problema después de actualizar m2e y lo resolví reinstalando Maven Integration para Eclipse WTP.

Como resultado, lo desinstalé tratando de actualizar m2e de la versión 0.xa 1.x

Lisandro
fuente
3

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

Cambié 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 descargado 3.2.1 (si no, cuando ejecuta "realizar eclipse", aparece este error "error = 2, no existe dicho archivo o directorio")
  • Configuré directorios 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 : $ RUTA

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 el espacio de trabajo

camposer
fuente
2

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

  1. Utilice la línea de comando maven utility mvn

    mvn eclipse: eclipse

    para crear un proyecto de eclipse

  2. Importar el proyecto en eclipse. Recuerda usar

    Archivo> Importar> General> Proyectos existentes en el espacio de trabajo

    para agregar el proyecto a su espacio de trabajo.

Esto debería solucionar el problema.

PickBoy
fuente
2

En lugar de desordenar su archivo pom, le sugiero que vaya a Mostrar vistaMarcadores en Eclipse, seleccione y elimine los marcadores de errores apropiados.

Bharath Lakshman
fuente
Grrr, odio tener que elegir entre dos males. Agregar decenas de líneas de basura a pom = malo. Tu camino = también es malo, porque sigue apareciendo (cada vez que guardas el pom) y tengo que decirles a todos que esto está bien.
Iain
1

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

En Eclipse IDE Help >> 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

Mohammed Irfan Tirupattur
fuente
1

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

  1. Haga clic derecho en el proyecto.
  2. Seleccione Maven> Actualizar proyecto ...
Lilylakshi
fuente
1

Esta respuesta es igual de buena que la respuesta superior de administración de complementos anterior (es decir, es terrible).

Simplemente elimine todo el código xml ofensivo en el pom.

Hecho. Problema resuelto (excepto que acaba de romper su configuración de Maven ...).

Los desarrolladores deben tener mucho cuidado de comprender las etiquetas de administración de complementos antes de realizar cualquiera de estas soluciones. El solo hecho de que la administración de complementos sea aleatoria es probable que rompa la construcción de Maven para todos los demás solo para que eclipse funcione.

Michael Haefele
fuente
1

puede suprimir este error en eclipse: Ventana -> Preferencias -> Maven -> Error / Advertencias

Pankaj Rastogi
fuente
1

Cambiando

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

dentro

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

Resuelto el problema para mí.

no cuidar
fuente
1

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 cleany probar desde Eclipse solo para descargar los archivos JAR que faltan.

Yamato
fuente
1

Seguí la sugerencia de la GUI para encontrar cualquier conector, y luego encontré AspectJ Integrator del equipo SpringSource. Después de la instalación, se resolvió.

deng hui
fuente
0

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

Lo sé, enfoque muy grosero.

DevCat
fuente