|
Segunda, 9 de Dezembro de 2024 |
|
|
|
O Arquivo .JAR
O arquivo .JAR (Java ARchive) é um arquivo tipo binário que contém um ou mais
arquivos compactados, tal qual um arquivo .ZIP.
A semelhança com o arquivo .ZIP é tanta que um arquivo .JAR pode ser renomeado para .ZIP e
ser aberto normalmente em algum programa que aceite este tipo de arquivo.
Criação do arquivo
O arquivo .JAR é criado normalmente com o programa jar (ou jar.exe), disponível
nos pacotes de software java® (Caso queira instalar este software, clique no link no
final desta página e siga as instruções).
A sintaxe mais comum para criar um arquivo é semelhante a sintaxe do programa tar do
linux/unix:
jar cvf arquivo.jar arquivos_a_compactar
Este comando irá criar o arquivo.jar indicado, colocando dentro dele os
arquivos_a_compactar indicados, que poderão ser vários, separados por espaços, ou ainda
com caracteres genéricos, como *.txt, por exemplo. Os subdiretórios e arquivos
relacionados serão incluídos.
O MANIFEST.MF
Note que dentro do arquivo .JAR será criado um subdiretório META-INF e dentro dele um
arquivo MANIFEST.MF. Este arquivo é uma característica do arquivo .JAR e serve para
indentificá-lo. Um arquivo MANIFEST.MF padrão, gerado com o comando acima tem o
formato:
Manifest-Version: 1.0
Created-By: 1.5.0_11 (Sun Microsystems Inc.)
|
Opcionalmente o programa jar pode deixar de gerar o MANIFEST.MF. Para isso, bastar
acrescentar o parâmetro "M" (maiúsculo) na linha de comando, como abaixo:
jar cvfM arquivo.jar arquivos_a_compactar
Isso é útil quando se quer compactar apenas os arquivos desejados ou se quer colocar um
MANIFEST.MF próprio, que já esteja montado num subdiretório META-INF,
a partir do local de disparo do programa.
Existem vários parâmetros que podem ser definidos dentro do MANIFEST.MF. Abaixo estão
descritos os dois principais:
O parâmetro Main-Class
Um arquivo .JAR pode conter um programa feito em java e pode ser executável.
Para isso o arquivo MANIFEST.MF do pacote deverá indicar qual o package
interno (subdiretório) / classe contém o método run de partida. Isso é feito
através do parâmetro Main-Class. Por exemplo, o programa
GetHttp utiliza o seguinte
arquivo:
Manifest-Version: 1.0
Main-Class: getHttp.GetHttp
|
Desta forma o usuário poderá disparar o programa interno do arquivo .JAR através do
comando:
java -jar arquivo.jar [parâmetros]
Para maiores informações sobre este comando veja a publicação
Atalho para programa Java.
O parâmetro Class-Path
O programa interno do arquivo .JAR pode precisar de bibliotecas adicionais
(outros arquivos .JAR). Para isso o arquivo MANIFEST.MF deverá indicar
a localização dessas bibliotecas no parâmetro Class-Path. Por exemplo,
o programa TaskCtrl,
precisa da lib jna.jar. Deixando-a instalada no mesmo diretório do
.JAR principal, ele utiliza o seguinte arquivo de MANIFEST.MF:
Manifest-Version: 1.0
Class-Path: jna.jar
Main-Class: taskCtrl.TaskCtrl
|
Expansão do arquivo
Para expandir um arquivo .JAR, utiliza-se o comando:
jar xvf arquivo.jar
Outros tipos de .JAR
Existem outros tipos de arquivos .JAR, que são montados da mesma forma, porém tem
extensão diferente, como o .WAR e o .EAR. São arquivos utilizados
pelo J2EE e podem ser tratados como arquivos .JAR, pois têm o mesmo formato.
Os arquivos .APK dos aplicativos para Android® também tem um formato parecido
e podem abertos da mesma forma.
Gostou? Compartilhe ou comente:
|
|
|