Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
Agora que você já
conhece algumas das tarefas básicas da ferramenta Ant,
podemos avançar um pouco mais. Neste tópico você
aprenderá como escrever um aplicativo Java composto de
três classes. Em seguida escreverá um arquivo de
build que compilará estas classes. Finalmente você
as colocará em um arquivo Jar para distribuição.
Lembre-se de que todo o processo de compilação
das classes e geração do arquivo Jar deverá
ser feito por um único arquivo de build.
O primeiro passo será escrever os arquivos .java
que farão parte do exemplo. Este é um aplicativo
simples composto de três classes chamadas Empresa,
Funcionario e Cliente (boa
hora para praticar composição).
Para acompanhar este exemplo você deverá criar
um diretório chamado testes em seu sistema
(no meu sistema estou usando "C:\testes"). Em seguida
crie três arquivos .java de acordo com
as listagens seguintes (para sua comodidade estes arquivos estão
disponíveis para download. Basta clicar no nome de cada
um deles):
public class Empresa{
public static void main(String args[]){
Funcionario
func = new Funcionario("Carlos", 3465.23);
Cliente cli
= new Cliente("Bush", 324);
Este exemplo é muito simples. Tudo que temos aqui é
uma classe pública (Empresa) que constrói instancias
de duas classes que possuem acesso de pacote. Não entraremos
em detalhes sobre o funcionamento de cada uma. Nosso objetivo
é entender como o Ant nos possibilita compilar e empacotar
estas classes em um arquivo Jar. Sendo assim vamos escrever
o arquivo build.xml. Eis a listagem:
Antes de executarmos este exemplo certifique-se de ter efetuado
todos os passos descritos anteriormente, ou seja, você
deverá ter um diretório chamado C:\testes contendo
três arquivos .java e o arquivo de build (build.xml).
Agora é só abrir uma seção do DOS,
navegar até C:\testes e inserir o comando abaixo:
C:\testes>ant
Veja o resultado da execução do arquivo de build:
Buildfile: build.xml
dir:
[mkdir] Created dir: C:\testes\classes
compilar:
[javac] Compiling 3 source files to
C:\testes\classes
empacotar:
[mkdir] Created dir: C:\testes\build\jar
[jar] Building jar: C:\testes\build\jar\Empresa.jar
Como podemos ver por este resultado, nosso arquivo de build
foi executado da maneira que esperávamos. Abra o diretório
C:\testes\build\jar e verá que o arquivo Empresa.jar
realmente foi gerado. Caso deseje executa-lo novamente sem a
ajuda do Ant basta abrir uma seção do DOS e digitar
o comando abaixo:
C:\testes\build\jar>java
-jar Empresa.jar
Vamos agora entender todas as tarefas contidas neste arquivo
de build. Comece analisando o elemento project:
Veja que o nome do projeto é teste,
o diretório base é o diretório atual e
a tarefa padrão (no caso de omitirmos a tarefa na linha
de comando) é executar. Em seguida temos a tarefa property
que nos permite definir uma variável global chamada classes:
<property name="classes"
location="classes"/>
Essa variável será usada para indicarmos para
o arquivo de build o diretório onde os arquivos .java
deverão ser colocados após a compilação.
Quando este arquivo de build é executado temos uma série
de tarefas dependentes umas das outras. Por exemplo, a tarefa
executar depende das tarefas empacotar e limpar. Já a
tarefa empacotar depende da tarefa compilar e assim por diante.
Veja a seqüência da execução das tarefas
(assumindo que a tarefa padrão seja executar):
Para a tarefa javac definimos valores para
três atributos. São eles:
1. srcdir – define o diretório
em que os arquivos .java a serem compilados se encontram. Usamos
o atributo basedir para especificar o diretório atual.
2. classpath - Usado para indicar ao compilador
o(s) caminho(s) em que algumas classes necessárias ao
correto processo de compilação de encontram. Para
o caso de você precisar especificar mais de um caminho,
é possível usar vírgulas ou ponto-e-vírgula
no valor do atributo.
3. destdir – define o diretório
onde as classes compiladas serão gravadas.
E agora, a tarefa mais importante do build, a tarefa responsável
por gerar o arquivo jar:
O primeiro passo é criar o diretório onde o arquivo
jar será gravado:
<mkdir
dir="build/jar"/>
Em seguida temos a tarefa jar. Esta tarefa
possui os seguintes atributos:
a) destfile – É o caminho e nome
do arquivo jar a ser criado.
b) basedir – Diretório a partir
do qual os arquivos a serem incluídos no JAR serão
pesquisados.
Todo arquivo jar precisa ter o arquivo de manifesto. Este arquivo
é criado com o elemento manifest:
É aqui que fornecemos
o nome da classe principal do aplicativo. Falhar em fornecer
este valor fará com que o arquivo jar não seja
executado corretamente.
Após a geração do arquivo jar, o diretório
classes é excluído com a seguinte
tarefa:
Quando o valor true é fornecido para o atributo fork
da tarefa java, a execução do arquivo é
feita em uma nova instancia da JVM e não aquela que está
sendo usada para a execução do Ant.
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.