Как поместить один файл в tomcat вместо повторного развертывания whole war?

#tomcat #jakarta-ee #tomcat6

#tomcat #джакарта-ee #tomcat6

Вопрос:

У нас есть веб-приложение на удаленном сервере. Размер всего приложения составляет около 30 мб. Для каждого улучшения мы будем добавлять один или несколько файлов jsp и .class. Мы не будем трогать файлы .js и изображения.

Итак, для выполнения этого требования мы отправляем эти файлы на нашу электронную почту, а затем вставляем файлы в веб-приложение, а затем перезапускаем сервер tomcat, чтобы перехватить новые файлы. Мне лень выполнять описанный выше процесс.

Есть ли какой-либо способ поместить один файл в веб-приложение tomcat?

Комментарии:

1. Вы развертываете развернутый файл или нет?

Ответ №1:

Если вы развертываете разнесенное приложение, то есть ваш код находится в отдельных файлах .class вместо файлов .jar, вы можете заменить отдельные файлы. Проблема в том, что загрузчики классов Java в целом (за исключением особых случаев, таких как контейнеры OSGI) и загрузчик классов Tomcat в частности, не заменят класс, который уже находится в памяти, он не будет заменен. Итак, вам придется перезапустить Tomcat. С JSP это становится немного сложнее, потому что Tomcat компилирует их в классы и, похоже, полагается на временную метку этого сгенерированного класса, когда решает, перекомпилировать ли JSP.

Я помню, как делал это подобным образом в Java 1.2 и Tomcat 4 days, но в итоге это доставило больше хлопот, чем того стоило. Просто сделайте себе одолжение и напишите сценарий своей сборки, чтобы создать файл WAR и указать, предпочтительно в пользовательском интерфейсе, какая сборка запущена в конкретном веб-приложении.

Ответ №2:

KwateeSDCM может постепенно обновлять веб-приложения. Просто продолжайте использовать свою цепочку сборки, которая генерирует war. Затем вы развертываете этот war с помощью KwateeSDCM (может быть автоматизирован с помощью интерфейса REST), который сохраняет хэш MD5 каждого файла и обновляет только те, которые действительно изменились. Здесь есть специальное руководство по развертыванию веб-приложений tomcat с KwateeSDCM.