Как быть продуктивным в многомодульном проекте GWT Maven - PullRequest
7 голосов
/ 08 марта 2011

У меня есть большой многомодульный проект Maven, где небольшая часть представляет собой веб-интерфейс, созданный в GWT.Я использую, но я не уверен, как сделать мою разработку эффективной.

Сейчас я работаю в режиме хоста при разработке вещей, которые находятся в проекте GWT, и если я что-то здесь изменю, я смогу сразу увидеть изменения при перезагрузке страницы.Но если что-то изменилось в модулях maven, которые содержат большую часть логики бэкэнда, мне нужно сделать mvn:install для всей структуры проекта и сделать gwt:run, чтобы снова запустить хост-режим.Очень много времени ...

Я пытался следовать инструкциям здесь: http://mojo.codehaus.org/gwt-maven-plugin/user-guide/project.html#Multi-project_setup, но это не работает, как ожидалось.

Можно ли сразу увидеть изменения, внесенные в зависимые модули maven, и если да, то как следует записывать файлы pom?

Ответы [ 4 ]

4 голосов
/ 09 марта 2011

Если вы используете Eclipse и m2eclipse , вы можете настроить свой проект на разрешение зависимостей из рабочей области . Цитировать из руководства m2eclipse:

Вы можете настроить проект для разрешения зависимостей из рабочей области. Это приводит к изменению способа обнаружения артефактов зависимости в Maven. Если проект настроен на разрешение зависимостей из рабочей области, эти артефакты не обязательно должны присутствовать в вашем локальном хранилище

При такой настройке нет необходимости вызывать mvn:install на связанных модулях. Я использовал эту настройку в сочетании с JRebel , чтобы получить мгновенную перезагрузку классов в мультимодульных проектах maven уже довольно давно.

1 голос
/ 05 апреля 2011

Разрешение зависимостей из рабочей области не работает для меня.

Мое решение: вручную добавить зависимость внутреннего проекта в конфигурацию запуска.

0 голосов
/ 21 июля 2013

У меня была такая же проблема, я создал подключаемый модуль "proxy" для gwt-maven-plugin.

Вы можете проверить это здесь https://github.com/xptdev/modgwt-maven-plugin

0 голосов
/ 09 марта 2011

Связанные подмодули maven - это библиотечные зависимости, которые должны находиться в каталоге WEB-INF / lib.Причина, по которой вы должны выполнить установку mvn: на верхнем уровне, заключается в том, что вам нужно заново создать jar-файл при его создании связанного субмодуля, а затем скопировать его в каталог WEB-INF / lib при упаковке для войны.проект происходит.

Если вы можете придумать, как заставить вашу IDE или какой-либо другой инструмент автоматически обновлять JAR в каталоге WEB-INF / lib, тогда у вас все получится.Вы можете попробовать автоматически скомпилировать свой IDE связанный проект в виде разобранной структуры JAR в каталоге WEB-INF / lib.Это будет зависеть от вашего веб-контейнера, будет ли он получен или нет.Я думаю, что Tomcat, вероятно, будет в порядке с этим, но я не уверен насчет Jetty.Я собираюсь попробовать это сам в ближайшее время.

...