Desenvolvimento - Java

Ant e o deploy e build de Projetos Java

Ant é uma das mais tradicionais e conhecidas ferramentas desenvolvida pelo projeto Jakarta. Seus objetivos estão ligados a automatização de processos de construção, ou build, além de testes e distribuição (deploy) de aplicações para projeto em Java.

por Eric C M Oliveira



Ant é uma das mais tradicionais e conhecidas ferramentas desenvolvida pelo projeto Jakarta. Seus objetivos estão ligados a automatização de processos de construção, ou build, além de testes e distribuição (deploy) de aplicações para projeto em Java. Isto é, necessidade de automatização de tarefas como compilação de projetos, montagem de .jar files ou até criação de Javadoc, estão nos limites de atuação do Ant.

O Ant esta ligado aos conceitos de integração continua, muito comum na metodologia XP e sua importância o fez ser incorporado em importantes IDEs do mercado, como Eclipse e, por conseqüência, WSAD.

A ferramenta Ant tem a capacidade de automatizar diversas tarefas que fazem parte do ciclo de vida de desenvolvimento de software. Outros exemplos, além dos já citados, são a capacidade de manipulação de diretórios, automatização de testes e controle de versão. Ant também pode ser útil para programação em linguagem C. É possível elaborar tasks complementares que fazem desde geração de código para integração de Java e C através da API JNI até a possibilidade de checagem de estilo de código.

Para a instalação, deve-se fazer o download do Ant do site do projeto Jakarta (ver referências). É necessário descompactar o arquivo em um diretório de sua preferência, a qual chamaremos ANT_HOME. Além disso, é necessário adicionar a variável de ambiente ANT_HOME, com valor apontando para o diretório onde você descompactou o Ant. Para finalizar, adicione o caminho ANT_HOME/bin à variável de ambiente PATH.

No Ant, temos o conceito do arquivo buildfile.xml. Esse arquivo em formato XML age como um script de tarefas a serem executadas. No arquivo, é necessário termos elementos que vão definir um conjunto de tarefas a serem executadas. Abaixo podemos observar um exemplo simples de um ant buildfile.xml:

<?xml version="1.0"?>
<project name="projetoLinhaCodigo" default="build" basedir=".">

<property name="name" value="projetoLinhaCodigo"/>
<property name="src" value="src"/>
<property name="docs" value="docs"/>
<property name="main" value="linhacodigo.ClassMain"/>
<property name="tmp" value="tmp"/>
<property name="bin" value="bin"/>
<target name="compile">
<mkdir dir="${tmp}"/>
<javac srcdir="${src}" destdir="${tmp}" debug="on" deprecation="on"/> 
</target>

<target name="jar" depends="compile" description="cria um .jar file ">
<mkdir dir="${bin}"/>
<jar jarfile="${bin}/${name}.jar" basedir="${tmp}"/>
</target>

<target name="javadoc" description="Geração de javadocs">
<javadoc sourcepath="${src}" destdir="${docs}" packagenames="linhacodigo.*"/>
</target>
<target name="run" depends="compile,jar,clean" description="inicia aplicação">
<java classname="${main}" classpath="${bin}/${name}.jar"/>
</target>

</project>

Outras tarefas podem ser incorporadas ao seu script. Para tal é necessário verificar o link "Ant Tasks" no manual on-line do Ant (ver referências).

Referências

http://jakarta.apache.org/ant
http://ant.apache.org/manual/index.html

Eric C M Oliveira

Eric C M Oliveira - Bacharel em Ciencia da Computação/FASP e Comunicação/Unesp, tem experiência em desenvolvimento Java nas plataformas J2SE, J2EE e J2ME, além de atividades ligadas a disciplina de testes, engenharia e qualidade de software. Tem certificações Java SCJP 1.3, SCJP 1.4, Rational Test Management, Rational Robot e RUP (Rational Unified Process).