A partir da versão 1.2 do Grails o plugin de suporte ao Apache Tomcat passou a vir por default junto com o framework. Então, neste final de semana resolvi experimenta-lo para descobrir como funciona. Não foi surpresa descobrir que o deploy da aplicação pode ser muito mais fácil com ele.
Instalação do plugin
Se sua aplicação já é baseada na versão 1.2 do Grails, nada precisa ser feito. Caso contrário, basta executar o comando abaixo:
grails install-plugin tomcat
Este recurso só funciona para as versões 1.1 ou posteriores do framework.
Configuração do seu servidor tomcat
Verifique qual o usuário possui permissão para executar deploys no servidor. Isto pode ser feito lendo-se o arquivo tomcat-users.xml, que se encontra dentro do diretório conf da sua instalação do Tomcat. Somente usuários com o role manager podem executar esta tarefa.
Por padrão, o Tomcat não vêm com este usuário definido. Sendo assim, caso seu arquivo esteja ainda vazio, edite-o para ficar similar ao exemplo abaixo:
<role rolename="manager"/> <user username="admin" password="admin" roles="manager"/>
Configurando o seu projeto
Basta incluir no arquivo Config.groovy que se encontra no diretório grails-app/conf da sua aplicação as linhas abaixo:
// O usuário no Tomcat
tomcat.deploy.username=”admin”
// A senha de acesso deste usuário
tomcat.deploy.password=”admin”
Qual o endereço do servidor
tomcat.deploy.url=”http://localhost:8080/manager”
Atenção deve ser dada à linha tomcat.deploy.url, cuja sintaxe é a seguinte:
tomcat.deploy.url=”[endereço do servidor incluindo a porta]/manager”
A aplicação manager do Tomcat é a responsável por efetuar o deploy remoto, por isto deverá ser incluida no final do valor desta chave.
Finalmente, o deploy
Feito isto, o deploy não poderia ser mais simples: basta executar o seguinte comando dentro do diretório da sua aplicação:
grails tomcat deploy
Caso já exista uma aplicação com mesmo nome no seu servidor, o deploy será mal sucedido. Nestes casos, você terá de efetuar o undeploy para em seguida executar o deploy novamente. Como remover a aplicação do servidor?
Simples: basta executar o comando abaixo:
grails tomcat undeploy
Maiores informações podem ser obtidas na página do plugin: http://grails.org/plugin/tomcat
Henrique mais uma vez parabéns pelo post. Achei esse post muito interessante sou novo com Grails e pelo que estou vendo o cada vez mais facilita a nossa vida. Parabéns
Que bom que gostou Nelson! Obrigado pelo apoio!
No caso de startar pelo prompt de comnado usando…
C:\teste> grails run-app minhaaplicacao
Como faço para parar este start?
Ctrl+C