| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/05/2007 20:42:24
|
nilolima
JavaChild
![[Avatar]](/images/avatar/220787ad7829c9cbc7e9953cb1c36fb3.jpg)
Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline
|
Gelera alguem sabe como fazer para dar um reload em, somente uma, aplicação do Tomcat usando o ANT?
Obrigado
|
Tecnólogo em Sistemas para Internet - CEFETPB |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2007 02:51:46
|
nilolima
JavaChild
![[Avatar]](/images/avatar/220787ad7829c9cbc7e9953cb1c36fb3.jpg)
Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline
|
Valeu Marcelo do PBJUG e demais que ajudaram
Resumindo é bem fácil de fazer.
Precisamos usar as funções do Manager do Tomcat. Dentro da pasta server/lib do Tomcat tem um arquivo chamado catalina-ant.jar, esse contem a implementação das tasks responsáveis por gerenciar o conteiner. Entende-se gerenciar por Iniciar, parar, fazer deployment, undeployment, e reload por aplicação.
A implementação das tasks que possibilitam esses comportos estão no arquivo catalina-ant.jar. Para que esse arquivo seja enxergado pelo Ant é necessário que uma cópia seja inserida dentro da pasta $ANT_HOME/lib.
Desvio para Leigos: $ANT_HOME é a pasta onde o ANT está instalado.
Desvio para usuários do Eclipse: Se estiver usando o ANT interno do Eclipse não basta copiar o .jar para a pasta $ECLIPSE_HOME/plugins/org.apache.ant_X.x.x tem que abrir o eclipse ir no menu WindowPreferences selecionar ANT RunTime na aba ClASSPATH selecionar Ant Home Entries e clicar no botão Add External Jar, procurar no sistema de arquivos catalina-ant.jar, clicar em apply e pronto pode usar;
Para fazer o script ANT que faça o Reload é bem fácil:
<project name="ManagerTomcat" basedir="." default=" ">
<!?Algumas propriedades para facilitar o trabalho -->
<property name="path" value="/teste"/>
<property name="url" value="http://localhost:8080/manager"/>
<property name="username" value="admin"/>
<property name="password" value=""/>
<!?Essas task define uma nova task que será será chamada pelo name dado e implementada pela classe representada por classname -->
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/>
<!?Pronto agora vamos a task de vai realmente dar reload na aplicação -->
<target name="reload">
<reload url="${url}"
username="${username}"
password="${password}"
path="${path}"/>
</target>
</project>
Como vemos o taskdef gerou a task reload, e nós criamos uma nova task também chamada reload, por conhecidencia, dentro dela chamamos o reload definido no taskdef que precisa da url do Manager, o usuário do manager do tomcat, a senha e o path as aplicação.
Desvio para leigos: Path da aplicação é o nome da pasta onde a aplicação está armazenada dentro da pasta webapp do tomcat. É mais ou menos isso.
Quem precisar saber como realizar as outras tarefas de administração ver:
http://tomcat.apache.org/tomcat-5.0-doc/manager-howto.html#Executing%20Manager%20Commands%20With%20Ant
Valeu gelera, obrigado pela ajuda
|
Tecnólogo em Sistemas para Internet - CEFETPB |
|
|
 |
|
|
|
|