Цикл разработки с Maven и друзьями
- Используйте Maven для управления циклом сборки-тестирования-развертывания-выпуска кода.
- Начните с Maven Archetype , наиболее подходящего для вашего веб-приложения.Это создаст всю структуру папок для вас и добавит зависимости Jar.
- Используйте встроенный легкий сервер, такой как Jetty , это будет очень быстро на машине разработчика без использования ресурсов и будетлегко настраивается.Кроме того, вы можете настроить автоматическую перезагрузку изменений.
- Большинство проектов Maven предполагаются для тестирования.Maven позаботится об использовании своего верного плагина .Таким образом, каждая сборка будет иметь фазу тестирования.
- Вы можете определить несколько профилей для различных сред (test, dev, prod, Win, Unix ..).Этот профиль изменит поведение проекта, чтобы оно было совместимо со средой.
- Используйте Cargo , снова плагин Maven для развертывания ваших сборок на тестовом или производственном сервере, который может быть Glassfish,Tomcat, Jetty или любой другой веб-сервер.
- Используйте Liquibase с или без Maven :) для управления изменениями вашей базы данных так же, как вы управляете изменением кода.
Я пришел из почти такого же проекта, как ваш в моей предыдущей компании.Разработка с Maven делает вещи такими плавными, и изменения заметны.
Небольшой поиск в Google показывает, что кто-то работал над архетипами для JSF и JPA с Spring
Редактировать # 1 - добавлено больше деталей
Осуществимость и простота использования
Maven
родилсянеобходимость упростить процесс разработки для большого и распределенного кода. - Maven очень хорошо интегрирован с Eclipse - так что это безболезненно.
- Jetty ведет мониторинг исходных папок, поэтому ваши изменения будут развернуты практически сразу.
- Вы можете настроить сборку так, чтобы пропустить тесты, чтобы не создавать зависимости.Когда вы просто редактируете компонент пользовательского интерфейса, Jetty автоматически копирует его в «целевую» папку.
- Если вы беспокоитесь о копировании и повторном развертывании.Вы должны прочитать ЭТО , чтобы увидеть, насколько эффективно это делается, помня о том, что вам не нужно компилировать-тестировать-развертывать каждый раз, когда вы меняете JSP или HTML.
Тем не менее, я хотел бы отметить, что Maven может быть непростым уроком.Это объектно-ориентированный способ развития цикла, скажем так.Большинство из нас, кто используется для создания сценариев, изначально могут найти немного утомительным / многословным.
Ресурсы
Я бы посоветовал просмотреть следующие ресурсы