Tutorial Apache ANT: O que é a ferramenta Ant Build? Exemplo

⚡ Resumo Inteligente

Apache ANT é um Java Ferramenta de construção baseada em XML que automatiza a compilação, os testes, o empacotamento e a implantação por meio de um arquivo de construção XML. Este artigo define a ferramenta. tracé sua história, cobre Windows A instalação explica a estrutura do projeto e a compara com o Maven e Gradle.

  • 🔨 Definição Essencial: Ant é um acrônimo para Another Neat Tool (Outra Ferramenta Legal), e converte código-fonte em um aplicativo executável a partir da linha de comando.
  • 📄 Arquivo de compilação: Cada instrução reside em um arquivo XML, convencionalmente chamado build.xml, que não requer nenhuma linguagem de programação adicional.
  • 🧱 Estrutura de três nós: Um arquivo de compilação sempre aninha tarefas dentro de alvos e alvos dentro de um único elemento de projeto.
  • 🔗 Controle de Dependências: O atributo `depends` ordena os destinos, portanto, a compilação é sempre executada antes do `jar` e antes da implantação.
  • ⚙️ Configuração do ambiente: A instalação requer um JDK, a variável ANT_HOME e a pasta bin do Ant adicionada ao caminho do sistema.
  • 🆚 Comparação de ferramentas: O Ant oferece liberdade procedural, o Maven impõe convenções com o gerenciamento de dependências, e Gradle Combina ambos com uma compilação automatizada.
  • ???? Benefício da portabilidade: Uma compilação é executada de forma idêntica em Windows e Linux onde quer que seja um Java A máquina virtual está disponível.

Tutorial Apache ANT

O que é uma ferramenta de construção?

Uma ferramenta de construção é uma ferramenta de programação usada para construir uma nova versão de um programa. Ele automatiza a criação de um aplicativo executável a partir de qualquer código-fonte.

Sem uma ferramenta de compilação, um desenvolvedor teria que compilar manualmente cada arquivo de origem, copiar recursos, executar o conjunto de testes e empacotar o resultado a cada alteração. Uma ferramenta de compilação registra essas etapas uma única vez e as repete de forma idêntica em todas as máquinas.

O que é formiga Apache?

Formiga Apache é um Java-ferramenta de linha de comando baseada em build Java aplicativos com a portabilidade total do puro Java Ant é um acrônimo para Another Neat Tool (Outra Ferramenta Incrível). Ele permite que os desenvolvedores adotem princípios ágeis e desenvolvimento orientado a testes para automatizar tarefas repetitivas de desenvolvimento, como a geração de documentação.

Formiga Apache

Conforme mostra o diagrama, o Ant lê um arquivo de compilação, resolve a ordem dos alvos dentro dele e, em seguida, executa as tarefas individuais que compilam, copiam, testam e empacotam o aplicativo.

Para que é usada a ferramenta Apache Ant Build?

Aqui estão alguns benefícios importantes de usar a ferramenta de compilação:

  • Uma ferramenta de compilação permite automatizar tarefas repetitivas específicas, como compilar o código-fonte, executar testes de software e criar arquivos para implantação de software.
  • As ferramentas de construção geralmente são executadas sem uma interface gráfica do usuário.
  • Ele ajuda você a converter código-fonte em código executável.
  • Oferece a opção de recompilar um arquivo somente se necessário.
  • Isso permite compilar um grande número de arquivos em um tempo relativamente curto.
  • Duas ferramentas de construção amplamente populares usadas por Java Os desenvolvedores são da Apache. Maven e Formiga.

História do Apache Ant

Agora vamos aprender sobre a história da ferramenta de construção Apache Ant.

Aqui estão marcos históricos importantes da ferramenta Apache Ant:

  • James Duncan Davidson criou Ant em julho de 2000.
  • Inicialmente, ele era usado para construir o Tomcat e vinha como um produto integrado no kit de distribuição do Tomcat.
  • Em maio de 2014, foi lançada a versão 1.9.4 do Apache Ant, com diversos recursos avançados.
  • A linha 1.10.x teve início em 2017 e continua sendo a versão com manutenção ativa.
  • A versão 1.10.17 foi lançada em 10 de abril de 2026 e requer um mínimo de Java 8 tempos de execução.

Características do Apache Ant

Aqui estão as principais características do Apache Ant:

  • É um projeto de código aberto.
  • Isso permite que você execute compilações em ambos Windows e sistemas UNIX ou Linux.
  • Você só precisa de um JVM, pois funciona em qualquer lugar onde uma JVM esteja disponível.
  • Oferece uma ampla gama de tarefas predefinidas.
  • Isso ajuda você a copiar arquivos de um local para outro.
  • Oferece uma interface para desenvolver tarefas personalizadas.
  • Ele permite invocar compilações a partir da linha de comando, o que se integra facilmente com IDEs gratuitos e comerciais.
  • Isso permite que você implante os binários em um servidor de teste.
  • Oferece uma arquitetura extensível.
  • Oferece compatibilidade retroativa entre diferentes versões.

Como instalar e configurar o Apache Ant em Windows

Agora vamos aprender o processo de instalação do Apache Ant no Windows.

Presumimos que você já tenha baixado e instalado o Java Kit de desenvolvimento (JDK) no seu computador. Certifique-se de que a variável de ambiente JAVA_HOME esteja definida para a pasta onde o JDK está instalado. Siga os passos abaixo para instalar o Ant:

Passo 1) Baixe os binários.
Baixe os binários de https://ant.apache.org/bindownload.cgi

Instalar e configurar o Apache Ant em Windows

Passo 2) Descompacte arquivos.
Descompacte este arquivo zip em um local conveniente, como c:\pasta, usando WinZip, WinRAR, 7-Zipou uma ferramenta similar.

Instalar e configurar o Apache Ant em Windows

Passo 3) Crie uma variável de ambiente.
Crie uma variável de ambiente chamada “ANT_HOME” e atribua o valor dessa variável ao local da pasta do Ant.

  1. Clique com o botão direito do mouse no ícone Este Computador.
  2. Clique em Propriedades.

Instalar e configurar o Apache Ant em Windows

Passo 4) Vá para as configurações do sistema.
Clique em “Configurações avançadas do sistema”.

Instalar e configurar o Apache Ant em Windows

Passo 5) Nas propriedades do sistema,
Clique na aba “Avançado”.

Instalar e configurar o Apache Ant em Windows

Passo 6) Encontre as variáveis ​​de ambiente.
Clique no botão “Variáveis ​​de ambiente…”.

Instalar e configurar o Apache Ant em Windows

Passo 7) Crie uma nova variável.
Clique em “Novo” para criar uma nova variável de usuário.

Instalar e configurar o Apache Ant em Windows

Passo 8) Insira os detalhes da variável.
Insira os detalhes da nova variável de usuário.

  1. Insira o nome da variável como ANT_HOME.
  2. Insira o valor da variável como a pasta onde o Ant foi descompactado, por exemplo, C:\apache-ant-1.10.17.
  3. Clique no botão “OK”.

Instalar e configurar o Apache Ant em Windows

Passo 9) Variável criada.
Clique no botão “OK”.

Instalar e configurar o Apache Ant em Windows

Passo 10) Feche a tela.
Clique em “OK” para fechar a tela.

Instalar e configurar o Apache Ant em Windows

💡 Dica: A variável de ambiente ANT_HOME deve apontar para a pasta de instalação em si, e não para a pasta bin dentro dela. Em seguida, adicione... %ANT_HOME%\bin À variável Path, para que o comando ant seja reconhecido a partir de qualquer diretório.

Você pode verificar se a instalação do Ant foi bem-sucedida digitandoping o comando “ant -version” no prompt de comando.

Você verá a seguinte tela:

Instalar e configurar o Apache Ant em Windows

Exemplo de Apache ANT

O arquivo de compilação abaixo define um único alvo chamado `hello` que imprime uma mensagem. O elemento `project` declara um nome e um alvo padrão, para que o Ant saiba o que executar quando nenhum alvo for especificado na linha de comando.

<?xml version="1.0"?>
<project name="HelloWorld" default="hello" basedir=".">

    <target name="hello">
        <echo>Hello, World</echo>
    </target>

</project>

Salve este arquivo como “build.xml” e siga estes dois passos:

  • Abra o prompt de comando e navegue até o diretório que contém o arquivo build.xml.
  • Execute ant hello, ou simplesmente ant, porque "hello" foi declarado como o alvo padrão. Para usar um nome de arquivo diferente, execute ant -f mybuild.xml hello.

Saída:

Buildfile: C:\projects\demo\build.xml

hello:
     [echo] Hello, World

BUILD SUCCESSFUL
Total time: 0 seconds

Estrutura do Projeto ANT

Estrutura do Projeto ANT

Estrutura do Projeto ANT

Conforme mostra o diagrama de estrutura, cada construção conterá três nós:

  • PROJETO
  • Target
  • Tarefa

PROJETO

Tudo dentro do arquivo de construção no Apache ANT está em um projeto.

Atributos:

  • Nome: O nome do projeto.
  • Baseado: Este é o diretório a partir do qual todos os caminhos serão calculados. Isso pode ser alterado usando a propriedade “basedir”.
  • Padrão: Ajuda você a definir o alvo padrão para este projeto. Se nenhum alvo for especificado, o Ant executará o padrão.

Target

Um objetivo é um conjunto de tarefas definidas para atingir um estado específico no processo de construção.

Atributos:

  • Nome: Nome do alvo (obrigatório).
  • Descriptíon: Descriptíon do alvo.
  • Depende: De qual alvo depende esse alvo atual?
  • E se: Executa a ação desejada somente se um valor for definido para a propriedade de destino.
  • A não ser que: Executa a ação desejada somente se o valor da propriedade não estiver definido.

tarefas

Uma tarefa é um trecho de código que pode ser executado. As tarefas possuem múltiplos argumentos ou atributos.

O padrão geral do método para escrever uma tarefa é:

<name attribute1="value" attribute2="value2"…/>

Você pode usar uma tarefa integrada ou criar a sua própria. A tabela abaixo lista as tarefas que aparecem em quase todos os casos. Java arquivo de compilação.

Tarefa Propósito Atributos típicos
eco Imprimir uma mensagem no console mensagem
mkdir Crie um diretório dir
delete Remover arquivos ou diretórios diretório, incluir diretórios vazios
Javac Compilar Java Arquivos Fonte srcdir, destino, includeantruntime
copo Empacote as classes em um arquivo jar. arquivo de destino, diretório base
cópia Copiar arquivos entre locais arquivo, paradir
Junit Executar testes unitários haltonfailure, printsummary

Exemplo completo de build.xml com múltiplos Targets

Um arquivo de compilação realista encadeia vários alvos. O atributo `depends` garante a ordem, de modo que o Ant limpa a pasta de saída, compila o código-fonte e só então constrói o arquivo JAR.

<?xml version="1.0"?>
<project name="DemoApp" default="jar" basedir=".">

    <!-- reusable values -->
    <property name="src.dir"   value="src"/>
    <property name="build.dir" value="build"/>

    <target name="clean" description="Remove previous output">
        <delete dir="${build.dir}"/>
    </target>

    <target name="compile" depends="clean" description="Compile sources">
        <mkdir dir="${build.dir}/classes"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}/classes"
               includeantruntime="false"/>
    </target>

    <target name="jar" depends="compile" description="Package the jar">
        <mkdir dir="${build.dir}/jar"/>
        <jar destfile="${build.dir}/jar/DemoApp.jar"
             basedir="${build.dir}/classes">
            <manifest>
                <attribute name="Main-Class" value="com.guru99.Main"/>
            </manifest>
        </jar>
    </target>

</project>

Saída:

Buildfile: C:\projects\DemoApp\build.xml

clean:
   [delete] Deleting directory C:\projects\DemoApp\build

compile:
    [mkdir] Created dir: C:\projects\DemoApp\build\classes
    [javac] Compiling 3 source files to C:\projects\DemoApp\build\classes

jar:
    [mkdir] Created dir: C:\projects\DemoApp\build\jar
      [jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar

BUILD SUCCESSFUL
Total time: 1 second

Apache Ant vs Maven vs Gradle

Três ferramentas de construção dominam o Java ecossistema, e cada um adota uma posição diferente sobre quanta estrutura impor.

Parâmetro Formiga Apache Apache Maven Gradle
Formato do script de compilação XML XML Groovy ou Kotlin DSL
Abordagem Procedimental, você define cada etapa. Declarativo, convenção sobre configuração Declarativo com extensões de script
Gerenciamento de dependências Não está integrado, foi adicionado através do Apache Ivy. Construído com repositório central Integrado e compatível com Maven
Estrutura do projeto Totalmente gratuito Layout padrão fixo Baseado em convenções, mas substituível.
Construções incrementais Limitada Limitada Sim, com um cache de compilação.
Curva de aprendizado Baixo para usuários de XML Moderado Mais íngreme, requer DSL.
Mais adequado para Projetos legados e construções altamente personalizadas Padrão Java projetos Grandes módulos e Android projetos

O Ant continua sendo a escolha pragmática quando uma compilação não se encaixa em um layout padrão ou quando um projeto existente já depende de alvos definidos manualmente.

Melhores práticas de uso do Apache Ant

Aqui estão algumas práticas recomendadas para usar o Apache Ant.

  • Você deve automatizar a numeração de builds usando arquivos de propriedades.
  • Implemente uma compilação configurável com a ajuda de arquivos de propriedades padrão e de compilação. Esses arquivos permitem armazenar propriedades que definem os dados para o seu processo de compilação, como a versão do compilador e as configurações de otimização.
  • Você pode reutilizar bibliotecas pré-construídas usando arquivos de propriedades de biblioteca.
  • Atribua um atributo de descrição a cada alvo, de forma que ant -projecthelp Apresenta um resumo útil da compilação.
  • Mantenha o diretório de destino limpo separado e nunca exclua um diretório que também contenha arquivos de origem.

Vantagens de usar Apache Ant

Aqui estão os benefícios de usar o Apache Ant:

  • O Ant é independente de plataforma, portanto, ajuda você a gerenciar propriedades específicas de cada plataforma, como separadores de arquivos.
  • O Ant permite executar tarefas específicas da plataforma, como modificar a data e hora de modificação de um arquivo usando o comando 'touch'.
  • Os scripts Ant são escritos usando linguagem simples. XMLPortanto, se você já está familiarizado com XML, poderá aprender Ant rapidamente.
  • O Ant oferece uma grande lista de tarefas predefinidas.
  • Oferece uma interface para desenvolvedores.ping Tarefas personalizadas.
  • Você pode invocar o Ant facilmente a partir da linha de comando, o que permite a integração com IDEs gratuitas e comerciais.
  • Você só precisa de uma JVM, então ele funciona em qualquer lugar onde uma JVM esteja disponível.
  • Apache Ant é uma biblioteca de código aberto que permite aos usuários acessar o código-fonte e reproduzi-lo.
  • O Apache Ant é uma ferramenta multiplataforma que permite gerenciar o Java classpath e estrutura de diretórios de arquivos de maneira acessível.
  • Apache Ant é facilmente extensível usando Java e outras linguagens de programação.
  • O Apache Ant oferece suporte integrado para desenvolvimento J2EE, como compilação e empacotamento de EJB.
  • Você pode usá-lo tanto para um pequeno projeto pessoal quanto para um grande projeto de software ou website.

O Ant é frequentemente usado em conjunto com um executor de testes e um servidor de integração contínua. Veja JUnit para a camada de teste, Jenkins para construções agendadas, e usando o Apache Ant com Selenium para automação de testes de navegador. Os relatórios gerados durante uma compilação podem ser renderizados com Relatórios Jasper.

Perguntas Frequentes

Ant é um acrônimo para Another Neat Tool (Outra Ferramenta Legal). James Duncan Davidson a criou em julho de 2000 enquanto trabalhava no desenvolvimento do Tomcat, e ela foi doada à Apache Software. Foundation.

Não, mas o Ant procura o arquivo build.xml por padrão no diretório atual. Qualquer outro nome funciona quando passado com a opção -f ou -buildfile na linha de comando.

Não por si só. O Apache Ivy é o projeto complementar que adiciona a resolução de dependências e pode baixar artefatos dos mesmos repositórios que o Maven utiliza.

A pasta bin está faltando na variável Path, ou ANT_HOME aponta para o diretório errado. Abra um novo prompt de comando após editar as variáveis, pois as janelas existentes mantêm os valores antigos.

Sim, para compilação padrão, arquivos JAR e alvos de teste. Verifique as entradas do classpath e o atributo includeantruntime, pois os arquivos gerados frequentemente os omitem e produzem avisos confusos.

Sim, para manter o legado. Java sistemas, onde a versão existente não pode ser migrada de forma barata. Novos projetos geralmente começam com Maven ou Gradle, que as ferramentas de IA também estruturam de forma mais confiável.

Resuma esta postagem com: