Tomcat и Eclipse Zero Turnaround Deployment

Я хочу иметь возможность развертывать изменения кода в Tomcat (почти мгновенно), пока я разрабатываю Eclipse.

На данный момент у меня есть результат работы Eclipse, в котором построенные классы помещаются в папку WEB-INF / classes моего веб-приложения.

У меня также есть перезагружаемый контекст с web.xml как наблюдаемый ресурс. Любое редактирование / сохранение этого файла перезагружает мое веб-приложение, занимая всего одну секунду - намного быстрее, чем создание нового файла войны и его полное развертывание.

Однако я бы хотел, чтобы do запускает повторное развертывание, когда я редактирую любой исходный файл. Поскольку.файлы классов изменяются в Tomcat, кажется, мне просто нужно отслеживать любые изменения в папке WEB-INF / classes и ее дочерних элементах.

Я читал, что могу добавить дополнительные наблюдаемые ресурсы в Tomcat context.xml , но, похоже, это не совсем то, что мне нужно - если только невозможно указать каталог, который будет отслеживаться ( включая рекурсивный мониторинг подпапок и файлов)?


  WEB-INF/web.xml
  WEB-INF/someother.file
  

Итак, по сути, мой вопрос заключается в том, могу ли я просмотреть всю папку классов (без явного включения каждого WatchedResource ), чтобы вызвать повторное развертывание в Tomcat?

Если нет , могу ли я настроить Eclipse на касание файла web.xml всякий раз, когда я сохраняю исходный файл в этом проекте? Я разрабатываю в системе Windows. : (


PS Меня не интересует продукт JRebel. Любой ответ должен быть бесплатным решением.


Обновление

Согласно документации Tomcat , Папку классов следует контролировать, задав контекст для перезагрузки:

Установите значение true, если вы хотите, чтобы Каталина отслеживать классы в / WEB-INF / classes / и / WEB-INF / lib для изменений, и автоматически перезагружать Интернет приложение, если обнаружено изменение.

Только изменения в web.xml, кажется, вызывают перезагрузку. Это ошибка или мои настройки неверны?

Кроме того, я читал об установке атрибута docBase для данного контекста:

docBase="webapps/someExample"

Это похоже на то, что мне нужно, так как я затем можно быстро переиздать в Eclipse. Моя единственная проблема в том, что мне нужно, чтобы несколько веб-приложений / сервлетов работали в Tomcat одновременно, на одном порту и т. Д.

16
задан Michael 15 June 2011 в 13:36
поделиться