Translate

неділя, 6 березня 2011 р.

How to create gwt maven project?


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

4 коментарі:

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

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

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

    ВідповістиВидалити
  4. Згенерований проект цілком робочий і це можна перевірити запустивши з консолі 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

    ВідповістиВидалити