JUGLviv

Meta


Share on:


How to create gwt maven project?

JUG LvivJUG Lviv

How to create gwt maven project? Easy! Just run

mvn archetype:generate -DarchetypeRepository=repo1.maven.org -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.1.0-1

This maven plugin generates project based on GWT version 2.1.0  If you prefer to use version 2.2.0, just replace version in pom.xml. Then the following compilation error will occur

java.lang.NoClassDefFoundError: com/google/gwt/core/ext/GeneratorExt
[INFO] at java.lang.ClassLoader.defineClass1(Native Method)
[INFO] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
[INFO] at java.lang.ClassLoader.defineClass(ClassLoader.java:616)

You should add dependency on gwt-dev.jar

<dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-dev</artifactId>
        <version>2.2.0</version>
        <type>jar</type>
        <scope>compile</scope>
</dependency>
By maven-googlewebtoolkit2-plugin

  • Анонім

    Маю клопоти з отриманим(згенерованим) кодом. Дивні помилки компіляції і видимості класів …

  • Ви пробували компілювати з консолі mvn clean compile ? Яка помилка падає?

  • Анонім

    Спробуй отриманий результат імпортувати в Eclipse і все побачиш.
    Щонайменше код згенерований не повністю … бо:
    1. Не має асинхронного інтерфеусу сервіса
    2. Не підключений клас Messages, який фігурує в коді
    Ще хотілось би мати можливість запуску в режимі noServer.

  • Згенерований проект цілком робочий і це можна перевірити запустивши з консолі mvn install або mvn gwt:run
    Якщо ви експортуєте проект в екліпс, то проект в екліпсі потрібно налаштовувати, як мінімум підключити автогенеровані класи з target/generaed-sources/gwt папки. А щоб був noserver то тре це в pom.xml вказати false
    тут є зразок
    http://gwt-maven.googlecode.com/svn/docs/maven-googlewebtoolkit2-plugin/examples.html

Bitnami