Этот вопрос является чем-то вроде святого Грааля настройки среды проекта. Вот логическое обоснование:
У больших проектов, как правило, плохая документация, поэтому существует множество циклов проб и ошибок. Поэтому я часто использую функцию перезагрузки без повторного развертывания некоторых библиотек (facelets, webflow, tapestry, jrebel ...).
Самый простой способ использовать такую функцию - это иметь ту же структуру в VCS, что и в контейнере сервлетов, и направлять контейнер сервлетов непосредственно в каталог разработки.
Однако большие проекты также часто делятся на какие-то модули, чтобы избежать слишком много сложности. Это означает, что структура каталогов сильно отличается в VCS и в веб-контейнере. Прямо сейчас у меня даже есть ситуация, когда у меня есть два проекта, совместно использующих один и тот же основной проект, который мне нужно разрабатывать одновременно.
Если проект достаточно мал, я использую пошаговое построение с помощью ant, который запускается Eclipse для сохранения любой файл. Но если есть несколько тысяч файлов, для которых нужно сравнить временную метку или выполнить какое-либо другое трудоемкое действие, даже инкрементная сборка может быть довольно раздражающей.
Спасибо
Я не уверен насчет Eclipse, но с помощью IntelliJ IDEA вы можете настроить проект так, чтобы каталоги проекта (т.е. «модули») располагались так, как вы хотите, и он будет синхронизировать выходной каталог с ними, обновлять их как измененные и даже выполнять горячее развертывание автоматически.
Разве jrebel не облегчил тебе жизнь? у него есть плагины IDE, а также интеграция с maven.