JAR (formato de arquivo)

 Nota: Se procura pelo single da banda norte-americana de punk rock Green Day, veja J.A.R..
Ícone de um arquivo JAR no KDE

Em software, JAR (Java ARchive) é um arquivo/ficheiro compactado, usado para distribuir um conjunto de classes Java; um aplicativo Java; ou outros itens, como imagens, XMLs, entre outros. É usado para armazenar classes compiladas e metadados associados que podem constituir um programa.

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:meusProgramas.MinhaClasse

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

java -jar exemplo.jar

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.

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.

Ligações externas

  • «Manual básico de arquivos JAR». , em inglês 
  • «Usando arquivos jar». www.javafree.org 
  • «O que é um arquivo Jar?» 
  • «Criando executáveis.jar multiplataforma». www.portaljava.com.br 
  • «JSR do Java Module System». www.jcp.org 
  • «Criando arquivos.jar». www.plugmasters.com.br 
  • v
  • d
  • e
Plataforma Java
Plataforma Java
JVM - Máquina virtual Java • JRE - Java Runtime Environment • JAR - Java Archive • Java SE • Java MEJava EEJava CardAndroid SDK
Tecnologias Sun
Squawk • JDK - Java Development KitJavaFXOpenJDKMáquina virtual Java • Maxine VM
Tecnologias de plataforma
AppletsServletsMIDletsjsp • Web Start (jnlp)
Principais tecnologias de terceiros
JRockit • GNU ClasspathKaffeTopLink • Apache Harmony • Apache Struts • JBoss Application Server • Tapestry • Jazelle • Superwaba
Linguagens de programação
Java • KotlinGroovyJythonJRuby • Scala • BeanShellClojure • Oxygene • Java Tcl • Processing • Rhino • mais…
Framework
Conferências Java
JavaOne