Эффективный цикл разработки с Maven, Tomcat / Glassfish, Archetype? - PullRequest
5 голосов
/ 11 января 2011

До сих пор я использовал tomcat и glassfish для разработки тестового веб-приложения, без Maven. И обычный цикл разработки до развертывания прост:

  1. разрабатывается в eclipse ide с папкой WebContent, которая является корневой папкой веб-приложения, в которой есть WEB-INF, web.xml, WEB-INF / lib, n все. Расположение скомпилированных классов в eclipse установлено в WEB-INF / classes.

  2. после кодирования, я могу просто нажать кнопку перезагрузки в консоли администратора Glassfish для этого конкретного веб-приложения. В tomcat, я полагаю, это перезагрузка также в менеджере tomcat.

  3. я мог получить доступ к веб-приложению в браузере

Теперь, если я захочу создать новое веб-приложение, в котором будут использованы новейшие материалы jsf, spring, jpa, hibernate, postgresql:

  1. какую рекомендацию архетипа я должен использовать при создании проекта?

  2. Могу ли я использовать мои предыдущие этапы разработки? потому что я думаю, что это очень легко без необходимости переупаковывать все в файл войны или копировать его в папку веб-приложения Tomcat каждый раз, когда я хочу протестировать. Сохраняя файлы в Eclipse, нажмите на перезагрузку в консоли администратора / менеджере tomcat, и я смогу мгновенно протестировать обновленное веб-приложение.

Или что вы обычно делаете в цикле разработки веб-приложений? Пожалуйста, поделитесь своим опытом, =)

Спасибо!

Ответы [ 2 ]

6 голосов
/ 11 января 2011

Цикл разработки с Maven и друзьями

  1. Используйте Maven для управления циклом сборки-тестирования-развертывания-выпуска кода.
  2. Начните с Maven Archetype , наиболее подходящего для вашего веб-приложения.Это создаст всю структуру папок для вас и добавит зависимости Jar.
  3. Используйте встроенный легкий сервер, такой как Jetty , это будет очень быстро на машине разработчика без использования ресурсов и будетлегко настраивается.Кроме того, вы можете настроить автоматическую перезагрузку изменений.
  4. Большинство проектов Maven предполагаются для тестирования.Maven позаботится об использовании своего верного плагина .Таким образом, каждая сборка будет иметь фазу тестирования.
  5. Вы можете определить несколько профилей для различных сред (test, dev, prod, Win, Unix ..).Этот профиль изменит поведение проекта, чтобы оно было совместимо со средой.
  6. Используйте Cargo , снова плагин Maven для развертывания ваших сборок на тестовом или производственном сервере, который может быть Glassfish,Tomcat, Jetty или любой другой веб-сервер.
  7. Используйте Liquibase с или без Maven :) для управления изменениями вашей базы данных так же, как вы управляете изменением кода.

Я пришел из почти такого же проекта, как ваш в моей предыдущей компании.Разработка с Maven делает вещи такими плавными, и изменения заметны.


Небольшой поиск в Google показывает, что кто-то работал над архетипами для JSF и JPA с Spring


Редактировать # 1 - добавлено больше деталей

Осуществимость и простота использования

  • Maven родилсянеобходимость упростить процесс разработки для большого и распределенного кода.
  • Maven очень хорошо интегрирован с Eclipse - так что это безболезненно.
  • Jetty ведет мониторинг исходных папок, поэтому ваши изменения будут развернуты практически сразу.
  • Вы можете настроить сборку так, чтобы пропустить тесты, чтобы не создавать зависимости.Когда вы просто редактируете компонент пользовательского интерфейса, Jetty автоматически копирует его в «целевую» папку.
  • Если вы беспокоитесь о копировании и повторном развертывании.Вы должны прочитать ЭТО , чтобы увидеть, насколько эффективно это делается, помня о том, что вам не нужно компилировать-тестировать-развертывать каждый раз, когда вы меняете JSP или HTML.

Тем не менее, я хотел бы отметить, что Maven может быть непростым уроком.Это объектно-ориентированный способ развития цикла, скажем так.Большинство из нас, кто используется для создания сценариев, изначально могут найти немного утомительным / многословным.

Ресурсы

Я бы посоветовал просмотреть следующие ресурсы

0 голосов
/ 11 января 2011

для q2:

Вы по-прежнему можете запускать / отлаживать приложение с tomcat из среды IDE (eclipse), даже если вы изменили структуру каталогов.(например, структура maven dir вместо динамической структуры web-каталога eclipse)

Project properties - > 
project facets - > 
Dynamic Web Module -> 
Click the appearing "further configuration available" 
and set your content dir and context root.

Вам не нужно упаковывать каждый раз, когда вы хотите запустить / отладить его.

Другой вариант - использовать Jetty

И я уверен, что есть и другие варианты, которые тоже скажут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...