2011-08-09 17 views
6

Cuando intento crear un proyecto Maven con estos parámetros: ID de grupo de arquetipo - org.codehaus.mojo; Archetype Artifact Id - gwt-maven-plugin; Versión de arquetipo - 2.3.0-1. puedo obtener algunos errores extraños:Proyecto Simply GWT 2.3 y Maven2 (3) en Eclipse Indigo

  • ejecución Plugin no está cubierta por la configuración del ciclo de vida: org.codehaus.mojo: GWT-maven-plugin: 2.3.0-1: generateAsync (ejecución: por defecto, fase de: generar -Fuentes)

  • ejecución Plugin no cubierta por la configuración del ciclo de vida: org.codehaus.mojo: gwt-maven-plugin: 2.3.0-1: i18n (ejecución: por defecto, de fase: generate-fuentes)

  • La ejecución del complemento no está cubierta por la configuración del ciclo de vida: org.apache.maven.plugins: maven-war-plugin: 2.1 0.1: explotó (ejecución: por defecto, fase de: recopilar)

Y algunas advertencias como:

  • Implementación de jst.web faceta proyecto no se puede conocer. La funcionalidad será limitada.

  • Implementación del proyecto facet wst.jsdt.web no se pudo encontrar. La funcionalidad será limitada.

Esta es mi pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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"> 

    <!-- POM file generated with GWT webAppCreator --> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>net.test1</groupId> 
    <artifactId>TestWebApp</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>GWT Maven Archetype</name> 

    <properties> 
    <!-- Convenience property to set the GWT version --> 
    <gwtVersion>2.3.0</gwtVersion> 
    <!-- GWT needs at least java 1.5 --> 
    <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-servlet</artifactId> 
     <version>${gwtVersion}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-user</artifactId> 
     <version>${gwtVersion}</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <classifier>sources</classifier> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <!-- Generate compiled stuff in the folder used for developing mode --> 
    <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory> 

    <plugins> 

     <!-- GWT Maven Plugin --> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>gwt-maven-plugin</artifactId> 
     <version>2.3.0-1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>test</goal> 
       <goal>i18n</goal> 
       <goal>generateAsync</goal> 
      </goals> 
      </execution> 
     </executions> 
     <!-- Plugin configuration. There are many available options, see 
      gwt-maven-plugin documentation at codehaus.org --> 
     <configuration> 
      <runTarget>TestWebApp.html</runTarget> 
      <hostedWebapp>${webappDirectory}</hostedWebapp> 
      <i18nMessagesBundle>net.test1.TestWebApp.client.Messages</i18nMessagesBundle> 
     </configuration> 
     </plugin> 

     <!-- Copy static web files before executing gwt:run --> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1.1</version> 
     <executions> 
      <execution> 
      <phase>compile</phase> 
      <goals> 
       <goal>exploded</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <webappDirectory>${webappDirectory}</webappDirectory> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

</project> 

Y así sucesivamente. ¿Que es esto? He intentado todos los manuales posibles en Internet, y en todas partes lo mismo. Traté de crear un proyecto a mano sin eclipse y lo mismo. Creo que el problema es que los manuales en Internet estaban escribiendo para la versión anterior de Eclipse, Maven, GWT. ¿Cómo puedo vencerlo? ¿Cómo puedo simplemente crear proyectos simples con GWT 2.3, el complemento Maven2 y Eclipse Indigo sin advertencias de errores al final?

+0

Tengo errores similares, pero la compilación tiene éxito. Creo que esos errores y advertencias son de m2eclipse. ¿Tienes m2eclipse instalado? – Adi

Respuesta

11

Este es un comportamiento conocido, discutido en la wiki de eclipse. Vea aquí: http://wiki.eclipse.org/M2E_plugin_execution_not_covered.

No solo comente las secciones problemáticas de su pom, realmente las necesita. Por ejemplo, el comentario generado para ese maven-war-plugin en el pom es "Copiar archivos web estáticos antes de ejecutar gwt: ejecutar" Esto resulta ser cierto. Si comenta ese complemento y "mvn clean gwt: run", los archivos estáticos no se copiarán en la carpeta de destino y no estarán disponibles para el modo alojado.

Afortunadamente, la solución es fácil. Si abre el pom en Eclipse, busque en la sección Descripción general y haga clic en el mensaje de error en la parte superior, le dará algunas opciones de solución rápida. Tales como "Marcar permanentemente el objetivo explotado en pom.xml como ignorado". Esto agregará cierta configuración de m2e a su pom para que ya no se marque como un error, y todo funcionará como antes. La sección recién generada en su pom es lo que se describe en el enlace de arriba como la opción "ignorar".

Espero que esto ayude.

Cuestiones relacionadas