Maven GWT 2.0 и Eclipse
кто-нибудь знает хорошее руководство для создания проекта с новым выпуском 2.0 GWT с использованием maven и eclipse? Я сталкиваюсь с большим количеством проблем, чтобы заставить их хорошо играть вместе.
для чего это стоит, я могу создать проект gwt с помощью плагина Maven eclipse, который отлично работает, но перенос его на maven не работает (поэтому руководство для этого было бы здорово).
аналогично, я могу использовать плагин maven (gwt-maven-plugin), но когда я импортирую его в eclipse (импорт - > материализовать проекты maven), он не признается в качестве проекта GWT...
спасибо
5 ответов:
EDIT: я обновил мой ответ с дополнительными шагами, предусмотренных ОП. Кредиты на ФП за подробностями.
Я только что сломал свою установку Eclipse, пытаясь установить последнюю версию плагина Google для Eclipse (для GWT 2.0), поэтому я не могу подтвердить все, но предположим, что выполнены следующие предварительные условия:
- затмение 3.5
- плагин Google для Eclipse (устанавливается с http://dl.google.com/eclipse/plugin/3.5, смотрите - инструкции)
- плагин m2eclipse для Eclipse (устанавливается с http://m2eclipse.sonatype.org/update)
вы пытались:
создать новый проект в Eclipse (Создать > Другое... выберите Maven-Проекта и выбрать gwt-maven-plugin прототип.)
редактировать созданный
pom.xml
обновитьgwt.version
свойство2.0.0
(который был выпущен в центральный РЕПО),добавить Codehaus Snapshot хранилищеи выберитеgwt-maven-plugin
версия1.2-SNAPSHOT
(версия 1.2 не выпущена в central, это должно произойти в ближайшее время)1.2
(который был выпущен в Центральном тоже).добавить
<runTarget>
С помощью GWT-Maven-плагина. конфигурация, как описано в с помощью плагина Google Eclipse.настройка Maven-war-плагин, как описано на странице, упомянутой в предыдущем шаге.
вручную включите GWT в проекте из предпочтения проекта, установив Используйте Google Web Toolkit флажокэтот шаг не нужен, так как вы будете строить / работать с конфигурацией Maven run, а не с плагином GWT для Затмение.вот как мой
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.
для создания проекта Maven GWT можно выполнить следующую команду:
webAppCreator-maven-noant-out
для получения дополнительной информации:
на всякий случай. Если вы используете Google GIN в своем проекте, вы должны добавить compile цель перед gwt: compile. Таким образом, вся последовательность будет:
compile gwt:compile gwt:run
вы можете прочитать объяснение здесь: http://code.google.com/p/google-gin/wiki/GinTutorial#Compilation
раздражающая проблема с GWT и m2eclipse:
режим разработки GWT требует всех банок для размещения в WEB-INF / lib. Это особенно больно, когда программисты используйте m2eclipse, который предоставляет свой собственный Контейнер classpath в Eclipse.
http://code.google.com/p/google-web-toolkit/issues/detail?id=5693
хорошие новости, обходной путь работает для меня
очень полезный нити
@Pascal: спасибо (у меня нет достаточно репутации, чтобы комментировать другие сообщения; поэтому здесь я публикую то, что работает для меня).
Мне нужен 2.5.1 GWT (не 2.6, последний), работающий с maven и eclipse (потому что sencha GXT еще не поддерживается для 2.6). Пробовал следовать без удачи
1) попробовал несколько архетипов с в eclipse для создания проекта
2) изменить POM файл (на основе выше обсуждения), чтобы изменить версии 2.5.1
следующие работали для меня http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.1 mvn gwt:eclipse mvn gwt:run