2012-03-14 2 views
3

Мне нужна конфигурация проекта maven для проекта gwt. Конфигурация должна запускаться в Eclipse (3.7 !?) и с консоли (mvn, jenkins ...).gwt maven project flavors: WebAppCreator или gwt-maven-plugin-Archetype - что использовать

Я попытался webAppCreator поставляемого с GWT:

webAppCreator.cmd -noant -maven -XnoEclipse -out WebAppCreated com.example.MyApp 

И GWT-Maven-плагин архетип. Оба проекта выглядят очень похожими в Eclipse, но у них очень разные конфигурации (разные каталоги и использование разных плагинов). Я думаю, что они будут вести себя совсем по-другому, если проект будет развиваться (добавление тестов, ресурсов ...). Поскольку конфигурация архетипа намного меньше, я бы подумал, что это ближе к правилам maven - но это также лучше?

Каковы эффективные различия обеих конфигураций?

И какую конфигурацию вы предлагаете в качестве отправной точки?

ответ

6

Я всегда создаю POMs с нуля, но если вы спросите меня, я бы выбрал POM, созданный артефактом.

ПОМ, порожденное WebAppCreator запускает DevMode в target/www, который является фантастическим, и он включает в себя maven-clean-plugin configuratin, который просто не нужен (вы никогда не должны запускать DevMode используя src/main/webapp в качестве войны каталога, так нет необходимости чистить его)

ПОМ, порожденное артефактом с другой стороны, использует i18n и generateAsync цели, которые ИМО не нужны (они могут быть использованы в качестве один удар в инструменты, но не будет работать на каждую сборку, в частности цель i18n).

Если вы спросите меня, ни один из них не является хорошей отправной точкой, но артефакт менее плохо чем WebAppCreator.

EDIT: Я начал работать над новыми архетипами: https://github.com/tbroyer/gwt-maven-archetypes Они не полностью готовы, но они IMO уже лучше, чем gwt-maven-plugin архетипа или WebAppCreator.

+0

thx thomas, Моя общая проблема: какие соглашения (лучшие практики) для проекта gwt maven. не могли бы вы поделится своим помпом? (основная причина для меня использовать maven - это позволить конвенциям выполнять свою работу) Между тем я пробовал оба с eclipse 3.6 и 3.7. Проблема с archetype-pom заключается в том, что сгенерированный код (т. Е. Async-interface) не находится в исходной папке. в 3.6 я исправил это. В конце мне нужна конфигурация, которая работает из коробки (без файлов eclipse в svn) для каждого разработчика - я устал настраивать каждое новое затмение разработчиков. – dermoritz

+1

Мои собственные «лучшие практики» - использовать gwt-maven-plugin только для 'gwt: compile' и' gwt: test'. Я запускаю DevMode из Eclipse, и я управляю своими RPC и i18n интерфейсами. В качестве альтернативы вы можете иметь асинхронные интерфейсы RPC, сгенерированные в модуле зависимостей, чтобы они были доступны для кодирования в вашем приложении GWT (я сделал что-то подобное для RequestFactory, мои собственные «лучшие практики» также включают использование 3 проектов для общего клиента и серверный код, я действительно верю, что так оно и должно быть сделано). –

+0

thx Я делаю то же самое, но начинаю с конфигурации webappcreator. проблема с handcrafted и archetype заключается в том, что это либо не работает (ошибки в eclipse), либо у меня нет кнопки Google «запускать как приложение для веб-приложений».Или как получить плотную связь между eclipse и maven без использования странной конфигурации webappcrator? – dermoritz