1
resposta

Qual a diferença entre JAR e WAR?

Desde já obrigado

1 resposta

Olá, Alisson.

WAR é o binário de projetos Java Web, que você roda de dentro de um servidor como o Tomcat.

JAR é o binário para projetos comuns, que não são Web.

Estudamos sobre JARs na aula 3 do curso Java parte 5: Pacotes e java.lang.

Obs.: Recomendo seguir a formação Java inteira!


O nome "JAR" vem de Java ARchive e, no fim das contas, é um .zip (só que com uma extensão .jar) com todos os .class compilados a partir dos seus arquivos .java. Há alguns outros arquivos de configuração.

O JAR pode ser duas coisas: - uma biblioteca: código de outras equipes ou empresas que você usa no seu projeto - um entregável para projetos Desktop ou de Linha de Comando: o arquivo que você manda para o seu usuário.


Já o nome "WAR" vem de Web ARchive.

Também é um arquivo .zip, só que além dos arquivos .class, você pode colocar arquivos que o navegador entende como .html, .js, .css. Pode colocar classes Java especiais como as Servlets e arquivos especiais como .jsp, além de configurações.

Tratamos disso no curso Servlets: Fundamentos de Java na Web