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.

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.
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
Passo 2) Descompacte arquivos.
Descompacte este arquivo zip em um local conveniente, como c:\pasta, usando WinZip, WinRAR, 7-Zipou uma ferramenta similar.
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.
- Clique com o botão direito do mouse no ícone Este Computador.
- Clique em Propriedades.
Passo 4) Vá para as configurações do sistema.
Clique em “Configurações avançadas do sistema”.
Passo 5) Nas propriedades do sistema,
Clique na aba “Avançado”.
Passo 6) Encontre as variáveis de ambiente.
Clique no botão “Variáveis de ambiente…”.
Passo 7) Crie uma nova variável.
Clique em “Novo” para criar uma nova variável de usuário.
Passo 8) Insira os detalhes da variável.
Insira os detalhes da nova variável de usuário.
- Insira o nome da variável como ANT_HOME.
- Insira o valor da variável como a pasta onde o Ant foi descompactado, por exemplo, C:\apache-ant-1.10.17.
- Clique no botão “OK”.
Passo 9) Variável criada.
Clique no botão “OK”.
Passo 10) Feche a tela.
Clique em “OK” para fechar a tela.
💡 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:
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 simplesmenteant, porque "hello" foi declarado como o alvo padrão. Para usar um nome de arquivo diferente, executeant -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
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 -projecthelpApresenta 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.













