Вы также должны отключить опцию «Автоматическая перезагрузка модуля по умолчанию». Если вы уже добавили / опубликовали модули из Eclipse в Tomcat, отключите «Автоматическую перезагрузку» для каждого веб-модуля (через вкладку «Модули» на странице конфигурации Tomcat). Это должно помешать Tomcat перезагрузить приложение при обновлении одного файла класса, что, как я подозреваю, является временем загрузки / ожидания.
у иметь возможность развертывать изменения кода в Tomcat (почти мгновенно), пока я работаю в Eclipse.
Пока что у меня есть вывод из Eclipse, помещающий встроенные классы вWEB-INF/classes
папка моего веб-приложения.
У меня также есть перезагружаемый контекст, сweb.xml
в качестве просматриваемого ресурса. Любое редактирование / сохранение в этот файлделает перезагрузите мое веб-приложение, заняв чуть более одной секунды - гораздо быстрее, чем создание нового файла войны и его полное развертывание.
Однако я хотел бы запустить повторное развертывание при редактировании любого исходного файла. Поскольку файлы .class изменяются в Tomcat, мне кажется, что мне просто нужно отслеживать любые изменения вWEB-INF/classes
папка и это дети.
Я прочитал, что я могу добавить дополнительные просматриваемые ресурсы в Tomcatcontext.xml
но это, кажется, не совсем то, что мне нужно - разве невозможно указать каталог, который будет отслеживаться (включая рекурсивный мониторинг подпапок и файлов)?
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/someother.file</WatchedResource>
<Manager pathname=""/>
</Context>
По сути, мой вопрос, могу ли я посмотреть всю папку классов (без учета каждогоWatchedResource
явно), чтобы вызвать повторное развертывание в Tomcat?
Если нет, могу ли я настроить Eclipse дляtouch
файл web.xml, когда я сохраняю исходный файл в этом проекте? Я занимаюсь разработкой в системе Windows. :(
PS Меня не интересует продукт JRebel. Любой ответ должен бытьсвободно решение.
Обновить
По словам котадокументацияпапка классов должна отслеживаться путем установки перезагрузки контекста:
Установите значение true, если вы хотите, чтобы Catalina отслеживала классы в / WEB-INF / classes / и / WEB-INF / lib на предмет изменений, и автоматически перезагружала веб-приложение в случае обнаружения изменений.
Кажется, только изменения в файле web.xml вызывают перезагрузку. Это ошибка или мои настройки неверны?
Кроме того, я прочитал о настройкеdocBase
атрибут для данного контекста:
docBase="webapps/someExample"
Похоже, это близко к тому, что мне нужно, поскольку я мог бы быстро переиздать в Eclipse. Моя единственная проблема заключается в том, что мне требуется, чтобы несколько веб-приложений / сервлетов работали в Tomcat одновременно, на одном и том же порту и т. Д.