quarta-feira, 17 de fevereiro de 2010

Ant - Introdução

Vamos a mais um post, mas desta vez é sobre uma ferramenta um pouco mais conhecida (seja de vista ou já tenha ouvido falar), o Apache Ant ou simplesmente Ant.

Tá mas o que é o Ant? Bom eu gosto de pensar no Ant com um script, mesma coisa que um Bat do Windows ou Sh do Linux, só com a diferença que ele é desenvolvido em Java, tem a sua estrutura montada num XML e roda em ambos os sistemas.

O Ant é bastante usado para construção de ambientes de compilação (o que é isso?). Um ambiente de compilação é onde tu vais organizar as sequências de para definir e atualizar o classpath, compilar o código separando os .java e os .class em diretórios distintos, pode também gerar o javadoc do projeto, configurar e executar a aplicação. Tudo isso definido numa sequencia de passos. Resumindo tu vais ter que montar um script que contenha todos esses passos.

Geralmente projetos Open Source mais antigos tem a sua estrutura de compilação montando no Ant, exemplo:

- Xerces: http://xerces.apache.org/
- Log4j: http://logging.apache.org/

- Xalan: http://xml.apache.org/

- TomCat: http://tomcat.apache.org/


Já outrou projetos tem a sua estrutura montada no Ant, mas já utilizam o Maven fazer esse gerenciamente da build, dentre eles são:


- XFire: http://xfire.codehaus.org/

- ServiceMix: http://servicemix.apache.org/

- Open-ESB: https://open-esb.dev.java.net/


Pra terminar um exemplo de uma estrutura Ant que compila um arquivo Java, gera o Jar e o executa:


<?xml version="1.0" encoding="ISO-8859-1" ?>
<
project name="Exemplo Ant" default="compile" basedir=".">
    <target name="compile">
        <echo>Compilando o projeto.</echo>
        <javac srcdir="${basedir}/src" destdir="${basedir}/bin" />
        <echo>Gerando o .jar do projeto.</echo>
        <jar jarfile="${basedir}/dist/HelloAnt.jar" basedir="${basedir}/bin">
            <!-- Tornando o jar executável -->
            <manifest>
                <attribute name="Main-Class" value="exemplo.HelloAnt" />
            </manifest>
        </jar>
        <echo>Executa o projeto.</echo>
        <java jar="${basedir}/dist/HelloAnt.jar" fork="true" />
    </target>
</project>



Nenhum comentário:

Postar um comentário