2011-09-07 17 views
6

Desde que instalé el nuevo plugin m2e para maven, mi proyecto Groovy ya no se construye. Estoy usando el plugin groovy-compiler como se describe en here. Aparece el viejo error de "ejecución del complemento no cubierto ..." para el compilador maven-compiler. He intentado ejecutar e ignorar para los objetivos "testCompile" y "compilar" como se describe en el error.Eclipse Helios + maven m2e + Groovy == FAIL

No puedo usar GMaven debido a algunos problemas arcanos del compilador. También estoy bloqueado para Maven 2.2.1 debido al proceso de compilación de mi compañía. El antiguo plugin m2eclipse se ha ido, y la documentación para m2e es atroz.

Estoy en mi ingenio final con esto. En ningún otro lugar veo este problema. No puedo ser el único.

Si no puedo encontrar una solución a esto muy pronto, estoy descartando maven por alguna implementación de Gradle hackeada (aunque tampoco puedo usar eso), o me estoy mudando a NetBeans, que es no es una propuesta ganadora.

Según lo solicitado, el fragmento de pom está a continuación.

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>build-helper-maven-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
     <execution> 
      <id>add-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
      <goal>add-source</goal> 
      </goals> 
      <configuration> 
      <sources> 
       <source>src/main/groovy</source> 
      </sources> 
      </configuration> 
     </execution> 
     <execution> 
      <id>add-test-source</id> 
      <phase>generate-test-sources</phase> 
      <goals> 
      <goal>add-test-source</goal> 
      </goals> 
      <configuration> 
      <sources> 
       <source>src/test/groovy</source> 
      </sources> 
      </configuration> 
     </execution>  
     </executions> 
    </plugin> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.1</version> 
     <configuration> 
     <compilerId>groovy-eclipse-compiler</compilerId> 
     <verbose>true</verbose> 
     <source>1.6</source> 
     <target>1.6</target> 
     </configuration> 
     <dependencies> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-batch</artifactId> 
      <version>1.8.0-03</version> 
     </dependency>   
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-compiler</artifactId> 
      <version>2.5.1</version> 
      <exclusions> 
      <exclusion> 
       <groupId>org.codehaus.groovy</groupId> 
       <artifactId>groovy-eclipse-batch</artifactId> 
      </exclusion> 
      </exclusions> 
     </dependency> 
     </dependencies> 
    </plugin> 
    </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.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
       <versionRange>[2.3.1,)</versionRange> 
       <goals> 
        <goal>testCompile</goal> 
        <goal>compile</goal> 
        </goals> 
       </pluginExecutionFilter> 
       <action> 
        <execute /> 
       </action> 
       </pluginExecution> 
       <pluginExecution> 
       <pluginExecutionFilter> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-compiler</artifactId> 
        <versionRange>[2.5.1,)</versionRange> 
        <goals> 
        <goal>testCompile</goal> 
        <goal>compile</goal> 
        </goals> 
       </pluginExecutionFilter> 
       <action> 
        <execute /> 
       </action> 
       </pluginExecution> 
      </pluginExecutions> 
      </lifecycleMappingMetadata> 
     </configuration> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 
+1

¿Puedes publicar tu pom, o al menos la sección con el mapeo del ciclo de vida m2eclipse? –

+1

La versión archivada de m2eclipse está en http://m2eclipse.sonatype.org/archived-releases.html – Raghuram

+0

Publicación del fragmento de POM. Puede haber un ligero error de ortografía debido al formato, pero la mayor parte del contenido es correcto. Mientras tanto, voy a probar el complemento archivado. Gracias. –

Respuesta

8

En primer lugar, debe instalar la correcta configurador Supongo que está utilizando m2e versión 1.0. Si ese es el caso, entonces debe instalar la versión más nueva del configurador Groovy-Eclipse para m2e. En este sitio de actualizaciones: (.. No utilizan el sitio de actualización groovy-m2eclipse-nueva Es obsoleto y desaparecerá pronto)

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/

no he hecho numerosas pruebas para el configurador en Eclipse 3.6, pero debería funcionar. Te recomiendo que actualices a Eclipse Indigo porque las cosas generalmente funcionarán mejor en Indigo.

En segundo lugar, debe reparar su pom.xml. Elimine la referencia al complemento org.eclipse.m2e.

+0

Los resultados iniciales parecen ser positivos. Voy a reinstalar 3.7 y reintentaré los pasos. Voy a marcar esta como la solución si puedo hacerlo funcionar directamente. Gracias por la ayuda hasta el momento. ¡Espero que puedas publicar esto en un blog en alguna parte! –

+0

Gracias Andrew esto solucionó todo, aunque un par de notas: si usa Indigo, debe usar el enlace e3.7: http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/ y * no * instale la opción "integración maven" (es decir, v1.0.0). Por último y ciertamente no menos importante, aún necesita usar el "build-helper-maven-plugin" e instalar el conector m2e para él. –

+0

Eso es correcto. Puedo actualizar la página wiki para hacer las cosas más explícitas. http://docs.codehaus.org/display/GROOVY/Groovy-Eclipse+compiler+plugin+for+Maven –

1

Tome un vistazo a la siguiente link he publicado en el grupo de usuarios maravilloso. Nota: utilicé STS de primavera, que es solo un mejor eclipse. También estoy pegando mi pom para un conjunto de pruebas para su referencia, tenga en cuenta que la fuente incluye el elemento con cuidado. También estaba en mi ingenio tratando de arreglar esto, pero definitivamente funciona ahora. Además, asegúrese de que el experto en eclipse apunte al mismo que instaló en su máquina, de lo contrario también puede causar problemas.

[Actualización] también instalar cualquiera de los siguientes complementos en función de la versión de Eclipse para proporcionar maravilloso - la integración Maven http://dist.codehaus.org/groovy/distributions/greclipse/groovy-m2eclipse-new/ o http://dist.codehaus.org/groovy/distributions/greclipse/groovy-m2eclipse/

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.example.org</groupId> 
<artifactId>test-suite</artifactId> 
<packaging>jar</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>test-suite</name> 
<url>http://maven.apache.org</url> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<repositories> 
    <repository> 
     <id>jetlang.googlecode.com</id> 
     <name>Jetlang Repository for Maven</name> 
     <url>http://jetlang.googlecode.com/svn/repo/</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.1.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-core</artifactId> 
     <version>2.0.2.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-support</artifactId> 
     <version>2.0.2.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.0.5.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>3.0.5.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>3.0.5.RELEASE</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jetlang</groupId> 
     <artifactId>jetlang</artifactId> 
     <version>0.2.5</version> 
    </dependency> 
    <!-- Database pool --> 
    <dependency> 
     <groupId>c3p0</groupId> 
     <artifactId>c3p0</artifactId> 
     <version>0.9.1.2</version> 
    </dependency> 
    <!-- ORACLE database driver --> 
    <dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>ojdbc5</artifactId> 
     <version>11.2.0.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>jdom</groupId> 
     <artifactId>jdom</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>jaxen</groupId> 
     <artifactId>jaxen</artifactId> 
     <version>1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>xalan</groupId> 
     <artifactId>xalan</artifactId> 
     <version>2.7.1</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.14</version> 
    </dependency> 
    <!-- Groovy jar --> 
    <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy</artifactId> 
     <version>1.8.0</version> 
     <type>jar</type> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.1</version> 
      <configuration> 
       <compilerId>groovy-eclipse-compiler</compilerId> 
       <compilerArgument>nowarn</compilerArgument> 
       <!--<verbose>true</verbose> --> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-compiler</artifactId> 
        <version>2.5.1-1</version> 
       </dependency> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-batch</artifactId> 
        <version>1.8.0-03</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <additionalProjectnatures> 
        <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature> 
       </additionalProjectnatures> 
       <sourceIncludes> 
        <sourceInclude>**/*.groovy</sourceInclude> 
       </sourceIncludes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

+0

No use la versión en http: //dist.codehaus.org/groovy/distributions/greclipse/groovy-m2eclipse-new /. Está desactualizado En su lugar, use el que está en el sitio de actualización de instantáneas habitual. –

+0

¿Qué versión del plugin m2e estás usando? ¿Cómo se solucionan los errores del complemento asociados con el nuevo plugin m2e y los conectores? –

+0

Andrew, ¿me puede proporcionar el enlace específico? Hay 4 sitios de documentación y ninguno de ellos parece ser correcto o actualizado. –

Cuestiones relacionadas