EDITAR: J'ai mis à jour ma réponse avec les étapes supplémentaires fournies par le PO. Merci à l'OP pour les détails.
Je viens de casser ma configuration Eclipse en essayant d'installer la dernière version du Plugin Google pour Eclipse (pour GWT 2.0) donc je ne peux pas tout confirmer mais, supposons que les pré-requis suivants sont remplis :
Avez-vous essayé :
-
Créez un nouveau projet à partir d'Eclipse ( Nouveau > Autres... puis sélectionnez Projet Maven et choisissez le gwt-maven-plugin archétype).
-
Modifiez le fichier généré pom.xml
, mettre à jour le gwt.version
à la propriété 2.0.0
(qui a été publié dans le dépôt central), ajouter le Aperçu de Codehaus dépôt et définir les gwt-maven-plugin
version à 1.2-SNAPSHOT
(la version 1.2 n'est pas encore sortie en central, cela devrait arriver bientôt) 1.2
(qui est également sorti en central).
-
Ajouter un <runTarget>
à la configuration de gwt-maven-plugin comme documenté dans Utilisation du plugin Google Eclipse .
-
Configurez le maven-war-plugin comme documenté dans la page mentionnée dans l'étape précédente.
-
Activez manuellement GWT sur le projet depuis les préférences du projet en définissant l'option Utilisez la boîte à outils Google Web case à cocher Cette étape n'est pas nécessaire puisque vous allez construire/exécuter avec une configuration d'exécution Maven, pas le plugin GWT pour Eclipse.
C'est ainsi que mon pom.xml
ressemble en fait à :
<?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">
<!--
GWT-Maven archetype generated POM
-->
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.demo</groupId>
<artifactId>my-gwtapp</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>gwt-maven-archetype-project</name>
<properties>
<!-- convenience to define GWT version in one place -->
<gwt.version>2.0.0</gwt.version>
<!-- tell the compiler we can use 1.5 -->
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
</properties>
<dependencies>
<!-- GWT dependencies (from central repo) -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>${gwt.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
<!-- test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<outputDirectory>war/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>generateAsync</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<runTarget>com.mycompany.demo.gwt.Application/Application.html</runTarget>
</configuration>
</plugin>
<!--
If you want to use the target/web.xml file mergewebxml produces,
tell the war plugin to use it.
Also, exclude what you want from the final artifact here.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>target/web.xml</webXml>
<warSourceExcludes>.gwt-tmp/**</warSourceExcludes>
</configuration>
</plugin>
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<warSourceDirectory>war</warSourceDirectory>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
Exécuter le gwt:eclipse
(en utilisant m2eclipse Maven2 > build...) pour configurer votre environnement et créer la configuration de lancement pour vos modules GWT.
Exécuter gwt:compile gwt:run
pour compiler et exécuter un module GWT dans le mode GWT Hosted.