Fazendo deploy no Tomcat usando ANT

4 respostas
A

Ola,

Vi um pessoal aqui perguntando como fazer o deploy no tomcat usando o ANT. Abaixo tem um exemplo de como fazer, espero ajudar, se alguem quiser dar uma melhorada fiquem a vontade..
Usei esse exemplo em um Dynamic Web Project no Eclipse 3 rodando com Tomcat 5.5.27 no Windows ..

Documentação do ANT
Documentação do Tomcat 5.5
[]´s

Arquivo build.properties

Aqui eu defino algumas variáveis como o home do tomcat, a pasta webapps, a url onde está o manager e login e senha..

deploy.path=D:/Apache Software Foundation/Tomcat 5.5/webapps
tomcat.home=D:/Apache Software Foundation/Tomcat 5.5
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password=admin

Arquivo build.xml

<project name="meu-projeto" basedir="." default="deploy-local">
	
        <property file="build.properties" />
	<property name="web.dir" value="war" />
	<property name="src.dir" value="src" />
	<property name="project.name" value="meu-projeto" />
	<property name="dist.dir" value="dist" />
	<property name="build.classes.dir" value="${web.dir}/WEB-INF/classes" />		
	
        <!-- define o classpath do projeto, usa os .jars presentes no Tomcat -->
	<path id="master-classpath">
		<fileset dir="${web.dir}/WEB-INF/lib">
	    	<include name="**/*.jar" />
	    </fileset>
		<fileset dir="${tomcat.home}/common/lib">
			<include name="servlet*.jar"/>
		    <include name="jsp-api.jar"/>        	
		    <include name="mail.jar"/>        	
		    <include name="activation.jar"/>        	        	
		</fileset>    	
	    <pathelement path="${build.classes.dir}"/>
	</path>		

        <!-- compila -->	
        <target name="build">
		<echo>Compilando...</echo>
	    <javac destdir="${build.classes.dir}" debug="true"
	           deprecation="false" optimize="false" 
	    	   failonerror="true">
	           <src path="${src.dir}"/>
	           <classpath refid="master-classpath"/>
	    </javac>
	</target>
	
        <!-- gera o .war e copia para a pasta dist do projeto -->
	<target name="create-war" depends="build">
		<echo>Gerando war ...</echo>
		<mkdir dir="${dist.dir}" />		
		<war destfile="${dist.dir}/${project.name}.war" webxml="${web.dir}/WEB-INF/web.xml">
			<fileset dir="${web.dir}">
		    	<include name="**/*.*"/>				
				<exclude name="**/*web.xml"/>				
		    </fileset>
		</war>
	</target>
	
        <!-- apenas copia o .war para o webapps do tomcat, precisa estar com auto-deploy para funcionar
        caso contrário precisa de uma outra task para reiniciar o projeto, não precisa reiniciar o servidor -->
	<target name="deploy-local" depends="create-war">
		<echo>Fazendo o deploy no tomcat ...</echo>
		<copy file="${dist.dir}/${project.name}.war" todir="${tomcat.home}/webapps" />
	</target>
		
        <!-- remove a pasta dist e outras que precisar -->
	<target name="clean">
		<echo>Removendo diretórios não usados ...</echo>
		<delete dir="${dist.dir}" />
	</target>	
	
</project>

4 Respostas

C

Ola…
E como tu configura o tomcat no eclipse para gerar a pasta dentro do webapps do Tomcat?
Alguem sabe??

A

Oi

Não estou com o Eclipse agora, o que você quer fazer é na hora de adicionar o projeto no eclipse ele seja adicionado na pasta webapp do Tomcat certo? Basta clicar duas vezes no Tomcat na aba server e selecionar uma opção do tipo “takes control of webapp” alguma coisa assim…

Você pode dar um browse e selecionar outra pasta qualquer também

t+

A

Oi

Não sei se você ainda está precisando disso, de qq forma segue anexo um print-screen do que tem que fazer

t+


L

Olá, aproveitando o assunto estou com dificudade de rodar duas aplicaçoes servlets usando o tomcat e netbeans. eu já coloquei o arquivo .war de cada uma das aplicaçoes no webapp do tomcat, vou em na pasta bin do mesmo e dou start. logo as pastas sao criadas, mas quando eu vou colocar o caminho (url-pattern) no browser para verificar se a aplicação está funcionando, da sempre falha no carregamento da pag e quando executo elas pelo netbeans, funciona.

estou usando essas duas aplicaçoes em servlet para comunicar com um aplicação jme e banco. O que será que pode ser?

grato.

Criado 6 de junho de 2008
Ultima resposta 13 de dez. de 2010
Respostas 4
Participantes 3