Javafree

Usando arquivos jar

Publicado por Tutoriais Admin em 06/02/2012 - 266.013 visualizações

A ferramenta jar é uma aplicação que combina múltiplos arquivos dentro de um simples arquivo .jar. Arquivos .jar são geralmente usados para agrupar todos os arquivos de uma determinada aplicação Java. Dentro deles pode-se ter desde .class, arquivos html de documentação a arquivos de áudio. Com esse tipo de recurso você pode criar uma espécie de executável para Java, bastando para isso, associar o tipo .jar com o java.exe ou com o javaw.exe facilitando assim a distribuição de suas aplicações. Alem disso, arquivos jar podem ser úteis para distribuir conjuntos de pacotes que se prestem a realizar alguma operação. É comum, por exemplo, ver os drivers JDBC(Java Database Connectivity) ou applets serem distribuídos nesse tipo de arquivo. Agora vamos ao que realmente interessa. Para criar um arquivo jar basta que você tenha instalado o jdk e que o seu path esteja corretamente configurado. Se não tiver o jdk basta ir em http://java.sun.com/j2se/1.4.1/download.html, fazer o download apropriado e instalar. Depois de instalar o jdk configure o path. No win9x/Me basta adicionar a seguinte linha ao arquivo

Autoexec.bat depois da definição do seu path:


No win2k/Xp clique em "Meu computador" com o botão direito, escolha "Propriedades", vá a aba "Avançado" e clique em "Variáveis de ambiente". Aqui pode-se definir variáveis que serão usadas por todos os usuários ou apenas por você. Escolha uma das opções e clique em "Nova". Em "Nome da Variável" preencha como JAVA_HOME e em "Valor da variável" coloque o diretório de instalação do jdk. Agora, na selecione a variável path, se existir, e clique em editar e adicione ao valor dela o seguinte:
%JAVA_HOME%\bin;%JAVA_HOME%\lib. Se a variável não existir, ou se você não tiver permissão para altera-la, basta criar uma variável na parte destinada apenas ao usuário com o nome PATH e com o seguinte valor:
%path%;%JAVA_HOME%\bin;%JAVA_HOME%\lib. Pronto, voltemos ao jar.

Criando um arquivo jar.

Para criar um arquivo jar basta apenas que você digite o seguinte comando no console:
>jar cvf classes.jar Foo.class Bar.class
O que esse comando faz é criar um arquivo chamado classes.jar contendo Foo.class e Bar.class. Os parâmetros passados, cvf significam:
-c = Crie um novo arquivo;
-v = Gere um output sobre o que está acontecendo;
-f = Especifique o nome do arquivo.


Pode-se também usar um comando mais "requintado" para inserir um arquivo Manisfest, determinado por você, em seu .jar. Isso porque o comando acima cria um Manifest.mf automaticamente sem configurações mais avançadas. Um arquivo manifest determina o funcionamento do seu jar. Ele é apenas um documento de texto que pode indicar a classe principal da sua aplicação ou outros arquivo necessários para que a sua aplicação funcione. Um exemplo de arquivo Manifest pode ser:


Note que a ultima linha do Manifest deve estar em branco. O arquivo manifest é geralmente criado com o nome de MANIFEST.MF e, por default, fica num diretório chamado META-INF dentro do jar. O comando para gerar um jar com um manifest epecificado por você é:
>jar cvfm classes.jar mymanifest classes...

"Descompactando" um arquivo jar.

Os arquivos jar usam um padrão de compressão baseado no formato de compressão zip de modo que qualquer aplicativo que suporte esse formato pode abrir e manipular um .jar. Entretanto, você pode realizar essas operações usando linhas de comando também. Para extrair arquivos de um jar basta digitar:
>jar xvf arquivo.jar
Para extrair arquivos específicos o comando é o seguinte:
>jar xvf arquivoAExtrair arquivo.jar

Executando um jar.

Ao contrario do que possa se pensar de imediato, arquivos jar são executados através do comando java e não do comando jar. Se o manifest estiver corretamente definido para executar o arquivo, ou seja, se ele contem uma indicação de qual é a classe principal da aplicação, basta digitar o seguinte comando para executar o jar:
>java -jar arquivo.jar

Outros parâmetros do comando jar.


c - Criar um novo arquivo
t - Lista o conteúdo de um arquivo jar
x file - extrai todos os arquivos ou apenas os
especificados. Se file é omitido, todos os arquivos são extraídos. Se não, somente os arquivo(s) especificado(s) são extraído(s).
v - Gera o verbose para o comando que está sendo executado.
f - Argumento que indica qual arquivo jar está sendo manipulado. Num comando de criação, indica o nome do arquivo que está sendo criado e, no caso de listar ou extrair, indica que arquivo será listado ou extraído.
m - indica o arquivo manifest que será inserido no jar
O - Indica que se deve apenas armazenar os arquivos sem compressão.
M - Para não criar um manifest default.
u - Atualiza um arquivo jar. Ex.: jar uf arquivo.jar Arquivo.class


Usando Jars de Terceiros.

Há duas maneiras de se usar um Jar distribuido por alguem. Isso depende de para que o jar server. Alguns podem ser aplicações prontas e para usa-los será necessario apenas executar o jar como explicado acima. Caso o jar seja um framework, ou um driver JDBC ou qualquer outro tipo de lib que vc usará para desenvolver uma aplicação, a maneira correta de usar e colocar o .jar no seu classpath. Para isso, basta adicionar o caminho completo do arquivo jar ao seu classpath. Entretanto, se vc estiver usando uma IDE, algumas delas(alias, a maioria) ignoram o seu classpath de maneira que vc tera que adicionar o arquivo jar manualmente ao conjunto de libs reconhecidos pela sua IDE. Como em cada IDE há uma maneira diferente de se fazer isso, não irei explicar como faze-lo.

Você pode também ir por um caminho mais simples e apenas colocar o jar que deseja usar no seguinte diretorio:

JAVA_HOME\jre\lib\ext

Assim o proprio jdk irá carrega-lo sempre que for necessário e todas as aplicações irão reconhece-lo.



Leia também:
O que é Java?
Características Básicas
Orientação a Objetos



Tutoriais para Certificação Java
Fundamentos da Linguagem
Modificadores
Operadores e atribuições
Controle de Fluxo
Orientação a Objetos
Java Lang e Wrappers
Objetos e Conjuntos
Classes Internas
Threads (Segmentos)