Как обновить отдельные файлы в файле войны - PullRequest
1 голос
/ 09 июня 2010

Я изучаю способ эффективного развертывания приложения с помощью файла war.Что я сейчас делаю, так это когда я выпускаю военный файл каждый раз, когда есть релиз.

Это означает, что каждый раз, когда происходит изменение, независимо от того, насколько маленьким является изменение, я должен создать и доставить все файлы, составляющие приложение.Я думаю, что, возможно, это не правильный способ сделать это.

Например, если есть изменения в файле CSS, я должен перестроить файл войны, который будет включать в себя весь файл.Это включает в себя также перекомпиляцию всех файлов * .java.

В приведенном выше примере возможно ли создать файл war только с файлом css и развернуть его на сервере tomcat, а Tomcat просто заменить файл css и оставить все остальное как есть?

1 Ответ

5 голосов
/ 09 июня 2010

Вы можете сделать «взорванное» развертывание, которое является просто распакованным файлом войны.Затем вы можете обновить отдельные файлы.Для этого вы помещаете «распакованный» каталог, где вы хотели бы иметь файл войны.Если вы используете tomcat и загляните в каталог развертывания, вы увидите, что именно так и поступает tomcat.

Однако не гарантируется, что изменения будут приняты.Файлы CSS, изображения и т. Д. Не должны создавать проблем, но JSP, файлы шаблонов и т. Д., Как правило, компилируются и кэшируются, и вам необходимо выполнить некоторые настройки, чтобы приложение заменило эти артефакты.Обычно это приводит к снижению производительности и может привести к ужасным ошибкам PermGen, когда классы заменяются, но не освобождаются из памяти.Если вы сделаете это, убедитесь, что вы регулярно отскакиваете от своего сервера, и следите за областью памяти PermGen с помощью virtualvm или jconsole или аналогичного инструмента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...