Грааль взорвался под котом

Есть ли способ использовать Grails в «развернутом» режиме на tomcat, чтобы вносить отдельные изменения в работающее приложение (например, gif) без необходимости регенерировать всю войну и загружать ее?

Что-то вроде добавления xml-файла в conf/Catalina/localhost tomcat, который указывает на взорванное приложение Grails?

Заранее спасибо.


person xain    schedule 29.04.2010    source источник


Ответы (5)


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

person Chris Wagner    schedule 29.04.2010
comment
И не потеряются ли изменения при перезапуске сервера? - person xain; 29.04.2010
comment
По моему опыту, поведение Tomcat по умолчанию не приведет к повторному взрыву войны, если сама война не будет обновлена. - person Chris Wagner; 29.04.2010
comment
изменил заголовок в файле gsp в развернутом каталоге, но изменение не было применено при вызове страницы. Может быть, какой-нибудь кеш очистить? - person xain; 30.04.2010

Обратите внимание, что Grails может сгенерировать развернутый .war, добавив grails.war.exploded=true в BuildConfig.groovy.

person Peter    schedule 18.04.2012

Разве это не то, что происходит, когда вы выполняете grails run-app?

person Daniel    schedule 29.04.2010
comment
Верно, но мой производственный сервер находится в облаке, и иногда загрузка 50 МБ занимает слишком много времени только потому, что есть изменения в gif или gsp. - person xain; 29.04.2010

Как вы получаете доступ к своему серверу в облаке? С tomcat просто создайте каталог с расширенной войной в нем (без расширения войны) в вашем каталоге WebApps.

Если вы хотите, чтобы Grails оставил и расширил войну, а не файл .War, измените сценарий War.groovy в своем дистрибутиве Grails, чтобы он не удалял каталог в конце.

Надеюсь это поможет.

person Scott Warren    schedule 29.04.2010

Мой совет: храните свои статические ресурсы на другом сервере.

Я вижу, что вы развертываете свое приложение в среде облачных вычислений. Если вашей платформой является EC2, поместите все свои статические ресурсы (изображения, css, html...) в S3. Ваши страницы будут отображаться быстрее (особенно если вы используете CloudFront), И ваш файл WAR будет меньше (меньше времени на загрузку/развертывание), И вы сможете изменять статические ресурсы так часто, как пожелаете.

person fabien7474    schedule 04.05.2010
comment
в любом случае указать выходную папку??? взгляните на stackoverflow.com/questions/13782770/ - person opensas; 09.12.2012