wpjr2’s Weblog

Artigos e tutoriais úteis

Criando Bibliotecas Java

Posted by wpjr2 em maio 2, 2008

Java Archive (JAR) é um arquivo compactado usado para distribuir um conjunto de classes Java. É usado para armazenar classes compiladas e metadados associados que podem constituir um programa. As vantagens de se utilizaá-lo incluem:

  • Segurança: arquivos JAR pode ser assinados digitalmente, onde usuários deste arquivo podem liberar permissões de segurança para acessar recursos específicos onde no caso normal não seria possível.
  • Tamanho: como seu conteúdo é zipado (comprimido), a quantidade de bytes para transmitir uma biblioteca é menor do que o conjunto de classes da mesma.
  • Marca (sealing): classes podem ser marcadas para que estas tenham consistência (todas as classes definidas em um JAR devem ser
  • Package Sealing: Packages stored in JAR files can be optionally sealed so that the package can enforce version consistency. Sealing a package within a JAR file means that all classes defined in that package must be found in the same JAR file.
  • Versionamento: um arquivo JAR pode armazenar dados sobre os arquivos que esta contém, como o vendedor, versão, etc.
  • Portabilidade: o mecanismo para gerenciar arquivos JAR é um padrão na plataforma Java pelas suas APIs.

Arquivos jar podem ser criados e extraídos usando o utilitário “jar” da JDK. Ferramentas de compressão (como o Winzip) também podem criar arquivos jar.

Um arquivo jar possui um arquivo manifesto localizado no caminho META-INF/MANIFEST.MF. As entradas do arquivo manifesto determinam como o arquivo jar será usado. Arquivos jar que têm a intenção de serem executáveis (como o *.exe do Windows) terão uma de suas classes especificadas como a classe “principal”. O arquivo manifesto terá uma entrada como:

Main-Class: pacote.MinhaClasse

As aplicações contidas nestes arquivos são tipicamente executadas com um comando similar a:

  • Executando direto do JAR utilizando o manifesto:
java -jar exemplo.jar
  • Executando via classpath:
java -cp exemplo.jar pacote.MinhaClasse

A execução destes aplicativos também pode ser feita automaticamente ao clicar no arquivo JAR, por exemplo o Windows Explorer do MS Windows ou File Explorer de qualquer distribuição do Linux.

Os arquivos jar podem ser “ofuscados” para que o seu conteúdo não seja visível para outras pessoas.

Em Junho de 2005 foi iniciado o JSR 277: Java Module System que pretende criar um sucessor do formato jar. Espera-se que esta evolução esteja disponível já na nova versão do JavaSe 7.0, previsto para 2008.


JAR é também o nome de um programa que cria arquivos diferentes dos criados pelo JAR da Sun Microsystems. É um formato de arquivos comprimidos de proposta geral e sucessor do ARJ.

jar cvfm exemplo.jar manifesto.txt -C classes myclasspath

- c : criar um arquivo JAR
- v : verbose, mostrar detalhes na console do processo de criação do JAR
- f : nome do arquivo JAR
- m : nome do arquivo manifesto
- -C: definição do diretório raiz a ser compactado
- myclasspath: define o classpath das classes a ser considerado na compactação, geralmente o ponto "." é usado.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: