Ответ 1
EDIT: Я обновил свой ответ с дополнительными шагами, предоставленными OP. Кредиты для OP для деталей.
Я просто сломал настройку Eclipse, пытаясь установить последнюю версию плагина Google для Eclipse (для GWT 2.0), поэтому я не могу подтвердить все, но, допустим, выполнены следующие предпосылки:
- Eclipse 3.5
- Плагин Google для Eclipse (установлен из http://dl.google.com/eclipse/plugin/3.5, см. инструкции)
- Плагин m2eclipse для Eclipse (установлен из http://m2eclipse.sonatype.org/update)
Вы пытались:
-
Создайте новый проект из Eclipse (New > Other... затем выберите Maven Project и выберите архетип gwt-maven-plugin).
-
Отредактируйте сгенерированный
pom.xml
, обновите свойствоgwt.version
до2.0.0
(который был выпущен в центральном репо),добавьте Хранилище моментальных снимков Codehaus"и установите версиюgwt-maven-plugin
на1.2-SNAPSHOT
(версия 1.2 не будет выпущена в центре, это должно произойти в ближайшее время)1.2
(который также был выпущен в центре). -
Добавьте
<runTarget>
в конфигурацию gwt-maven-plugin, как описано в Использование плагина Google Eclipse. -
Настройте плагин maven-war, как описано на странице, упомянутой на предыдущем шаге.
-
Вручную включить GWT в проекте из предпочтений проекта, установив флажок Использовать Google Web Toolkit. Этот шаг не нужен, поскольку вы будете создавать/запускать с помощью конфигурации запуска Maven, а не Плагин GWT для Eclipse.
Вот как выглядит мой 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">
<!--
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>
Запустите цель gwt:eclipse
(используя m2eclipse Maven2 > build...) для настройки вашей среды и создания конфигурации запуска для ваших модулей GWT.
Запустите gwt:compile gwt:run
, чтобы скомпилировать и запустить модуль GWT в режиме хостинга GWT.