GWT 1.7 on SpringSource dm Server 2.0.0.M3

Вводная часть

Хочу описать шаги, проделываемые мной, для того, что бы заставить работать GWT в SpringSource dm Server версии 2.0.0.M3 (далее dmServer). Мои попытки базируются на серии статей отсюда http://blog.springsource.com/2008/11/07/deploying-gwt-applications-in-springsource-dm-server-part-1/. Также хотелось бы интегрировать Maven в сборку проекта.

Мы будем использовать:

  • dmServer 2.0.0.M3;
  • SpringFrameWork 3.0.0.M3;
  • GWT 1.7

Итак начнем…

Step 1: создаем новый GWT проект

Добавляем в PATH путь к распакованному дистрибутиву с GWT

set PATH=%PATH%;D:\projects\gwt\gwt-dist

и выполняем комманду для создания проекта

webAppCreator -out stock-watcher name.webdizz.gwt.stock.watcher.StockWatcher

Note: прежняя схема создания GWT проектов для Eclipse с помошью комманд  projectCreator and applicationCreator устарела.

Создаем GWT проект
Создаем GWT проект

После создания проекта его необходимо импортировать в Eclipse.

“Import” -> “General” -> “Existing Projects into Workspace”

Step 2: запускаем на проверку

Генератор GWT проекта автоматически создал файл StockWatcher.launch, в котором хранятся настройки запуска проекта в Hosted Mode. Для запуска проекта выберите проект далее в контекстном менню

“Run AS”->”Run Configurations…”->”Java Application”->”StockWatcher”->”Run”

После запуска проекта, если обновить состояние проекта, то можно увидеть в директории war/stockwatcher файлы, созданные компилятором. Стоит так же отметить все, что находиться в директории war является стандартным распакованным “варником”, который может быть запущен в сервлет контейнере (Tomcat, Jetty), но не в нашем случае.

Step 3: предварительная настройка структуры проекта в соответствии с подходом в Maven

Создаем структуру следующего вида

Структура GWT проекта для Maven
Структура GWT проекта для Maven

Запускаем комманду генерации нового ланчера “StockWatcher Maven support”

“Run AS”->”Run Configurations…”->”Java Application”->”StockWatcher”->нажимаем на кнопку “Duplicates the currently selected launch configuration”->в поле “Name” вставляем “StockWatcher Maven support”

В табе “Arguments” изменяем путь к директурии, куда GWT компилятор будет складывать результаты своей деятельности, добавив параметр “-war src/main/webapp“. (С версии 1.6 GWT не поддерживает параметр -out [1])

Далее меняем “Classpath”, изменив в этом табе значение “User Entries->src-\StockWatcher\” на “User Entries->java-\StockWatcher\src\main”

Измененный Classpath для ланчера
Измененный Classpath для ланчера

Запускаем и смотрим все ли изменения прошли удачно)

Step 4: создаем инстанс dmServer

Предполагается, что у вас имеется предустанновленный dmServer. Открываем “View” “Servers”, в контекстном менню выбираем “New”->”Server”->”SpringSource”->”SpringSource dm Server v2.0″->”Next”->указываем путь к серверу->”Finish”

dmServer instance configuration
dmServer instance configuration

Step 5: изменения настройки сборки проекта с помощью Ant

Открываем файл build.xml и правим для того, чтобы Ant мог собрать проект после изменения путей

  • заменяем все строки “war/WEB-INF” на “src/main/webapp/WEB-INF”;
  • “war/stockwatcher” на “src/main/webapp/stockwatcher”;
  • в target javac нужно присвоить аттрибуту srcdir новое значение “src/main/java”;
  • далее в таске copy/fileset значение аттрибута dir заменяем на “src/main/java”;
  • в target gwtc и hosted значение pathelement аттрибута location так же заменяем на “src/main/java”;
  • также нужно добавить параметр дял запуска com.google.gwt.dev.Compiler. Добавляем следующую строчку в таску запуска компилятора

<arg line=”-war src/main/webapp”/>

  • в таске war нужно изменить путь для сборки war-ник – аттрибут basedir должен иметь значение “src/main/webapp” ;

Тут приложен измененный файл.

Step 6: запуск проекта на dmServer

Теперь мы можем проверить запуск проекта в dmServer-е как стандартный war для этого нужно запустить Ant

ant war

Скопировать собранный war-ник StockWatcher.war в директории проекта в dmServer в директорию pickup и запустить серевер.

После запуска должно появиться сообщения, среди которых можно найти следующее

Startup result logs
Startup result logs

А открыв URL http://localhost:8080/StockWatcher должно быть

WebApplication run result
WebApplication run result

What next:

На этом пожалуй все, в следующем посте мы продолжим….

Useful Links

[1]http://code.google.com/p/google-web-toolkit/wiki/WAR_Design_1_6


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.