2011-08-09 4 views
6

Lorsque j'essaie de créer un projet Maven avec les paramètres suivants: Archetype Group Id - org.codehaus.mojo; Archétype Artefact Id - gwt-maven-plugin; Version Archétype - 2.3.0-1. Je reçois des erreurs étranges:Projet Simply GWT 2.3 et Maven2 (3) dans Eclipse Indigo

  • exécution de plug-in ne sont pas couverts par la configuration du cycle de vie: org.codehaus.mojo: GWT-maven-plugin: 2.3.0-1: generateAsync (exécution: par défaut, phase: générer -Sources)

  • exécution de plug-in ne relevant pas de la configuration du cycle de vie: org.codehaus.mojo: GWT-maven-plugin: 2.3.0-1: i18n (exécution: défaut de phase: generate-sources)

  • L'exécution du plugin n'est pas couverte par la configuration du cycle de vie: org.apache.maven.plugins: maven-war-plugin: 2.1 .1: Exploded (exécution: par défaut, phase: compilation)

Et quelques avertissements que:

  • mise en œuvre de jst.web facette du projet n'a pas pu être trouvé. La fonctionnalité sera limitée.

  • La mise en œuvre de la facette de projet wst.jsdt.web n'a pas pu être trouvée. La fonctionnalité sera limitée.

Ceci est mon 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> 

Et ainsi de suite. Qu'est-ce que c'est? J'ai essayé tous les manuels possibles sur Internet, et partout les mêmes. J'ai essayé de créer un projet manuel sans éclipse et pareil. Je pense, le problème est que les manuels sur Internet écrivaient pour l'ancienne version d'Eclipse, Maven, GWT. Comment puis-je le battre? Comment puis-je simplement créer un projet simple avec GWT 2.3, Maven2 plugin et Eclipse Indigo sans erreurs?

+0

J'ai des erreurs similaires, mais la construction réussit. Je crois que ces erreurs et avertissements proviennent de m2eclipse. Avez-vous installé m2eclipse? – Adi

Répondre

11

Ceci est un comportement connu, discuté sur le wiki eclipse. Voir ici: http://wiki.eclipse.org/M2E_plugin_execution_not_covered. Ne commentez pas simplement les sections problématiques de votre pom, vous en avez vraiment besoin. Par exemple, le commentaire généré pour ce plugin maven-war dans le pom est "Copier les fichiers web statiques avant d'exécuter gwt: run" Cela s'avère être vrai. Si vous commentez ce plugin et "mvn clean gwt: run", les fichiers statiques ne seront pas copiés dans le dossier cible et ne seront pas disponibles en mode hébergé.

Heureusement, la solution de contournement est facile. Si vous ouvrez le pom dans Eclipse, regardez dans la section Aperçu, et cliquez sur le message d'erreur en haut, il vous donnera quelques options de réparation rapide. Tels que "marquer définitivement l'objectif explose dans pom.xml comme ignoré." Cela ajoutera une certaine configuration m2e à votre pom donc il ne sera plus signalé comme une erreur, et tout fonctionnera comme avant. La section nouvellement générée dans votre pom est ce qui est décrit dans le lien ci-dessus comme l'option "ignore".

Espérons que cela aide.