GWT с Maven под затмением.Какой цикл разработки? - PullRequest
2 голосов
/ 09 декабря 2010

Я пишу приложение, которое использует GWT, некоторые Spring MVC и Spring Security.Maven используется для управления зависимостями, а Eclipse - моя IDE.Я создал свое приложение следующим образом:

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

Затем я импортировал его в Eclipseследующим образом:

  1. Импортировано как проект Maven в рабочую область Eclipse.
  2. В настройках проекта установлен флажок «Использовать Google Web Toolkit».
  3. Этот проект имееткаталог WAR "проверен. Каталог WAR установлен в src / main / webapp. Параметр" Запуск и развертывание из этого каталога "не отмечен.

Затем я проверяю, что все в порядке:

  1. Нажмите Run / Debug, выберите веб-приложение (выбор Google) и выберите target / www в качестве каталога WAR.

Пока все хорошо. Теперь я хочу знатьКак управлять циклом разработки. Например, теперь я хочу добавить Spring в свое приложение, поэтому я добавляю этот блок в pom.xml и сохраняю его. Зависимости Maven в Eclipse расширены, чтобы показать много новых jar-файлов (Spring и его зависимости).

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>

Я тоже редактируюweb.xml для настройки Spring DispatcherServlet ...

После того, как я отредактировал pom.xml и web.xml, нажатие значка отладки / запуска на панели инструментов просто снова запустится из target / www без каких-либодругие шаги происходят.Это означает, что используется старый web.xml, а target / www / WEB-INF / lib не содержит jar-файлов Spring (и зависимых jar-файлов Spring).Нужно ли переходить в командную строку и вводить команды Maven при внесении определенных изменений?

Идеальный ответ описывает цикл разработки для вышеуказанного сценария.

Моя конфигурация:

GWT: 2,1.

Затмение: Гелиос (3,6).

Maven: 2.2.1.

JRE / JDK: JDK 1.6.0.21.

Плагин Google для Eclipse 3.6 версии 1.4.0.v201010280102.

Интеграция Maven для Eclipse (m2eclipse) версии 0.10.2.20100623-1649 (она настроена так, чтобы указывать на среду Maven 2.2.1, а НЕ -использовать встроенный Maven3 «экземпляр»).

1 Ответ

1 голос
/ 10 декабря 2010

Я не совсем понял ваш вопрос, но я использую для создания отдельного проекта gwt maven и использую веб-сервер apache для обслуживания файлов gwt, а затем настраиваю основное веб-приложение для загрузки файлов gwt в клиент / браузер. Это избавило меня от смешивания кодов gwt с моим основным веб-приложением.

Изменить относительно вашего комментария:

Забудьте о gwt для начала и читайте дальше ...

Сначала вам нужно убедиться, что eclipse и maven правильно играют вместе, чтобы при добавлении зависимостей pom eclipse их тоже распознавал, а настройки и структура вашего проекта eclipse соответствовали maven.

Во-вторых, вам нужно настроить конфигурацию веб-разработки, чтобы вы могли запускать / тестировать ваше веб-приложение. Вы можете использовать плагин Maven Jetty или Tomcat или сервер затмения Tomcat. ИМХО лучше использовать плагин maven jetty.

И, наконец, вам нужно упаковать (используя maven) и развернуть (используя maven или нет) webapp в своей среде развертывания.

Если вы до сих пор добились успеха, вы можете добавить gwt с помощью плагина maven gwt.

Если вы установили подключаемый модуль eclipse maven, вы можете запускать команды maven изнутри eclipse, но не мешало бы запускать их из командной строки.

...