Diferença entre JAR e WAR

JAR vs WAR

JAR e WAR são dois tipos de arquivos compactados. Mais corretamente, um arquivo WAR também é um arquivo JAR, mas eles são usados ​​para diferentes propósitos. Arquivos JAR são como arquivos ZIP conhecidos. Eles poderiam ser usados ​​para qualquer arquivamento de uso geral, mas o uso mais popular dos arquivos JAR é usá-los como contêineres para arquivos de classe Java e arquivos de recursos que compõem um aplicativo java. Arquivos WAR são usados ​​especificamente para a implementação de aplicativos da web.

O que é JAR?

JAR (Java ARchive) é um arquivo que carrega muitos outros arquivos. Os arquivos JAR são geralmente usados ​​pelos desenvolvedores Java para distribuir aplicativos Java ou bibliotecas Java usando os arquivos JAR como contêineres para os arquivos de classe Java e os arquivos de recursos correspondentes (ou seja, texto, áudio, vídeo etc.). O conhecido formato de arquivamento de arquivos ZIP é a base sobre a qual o arquivo JAR é construído. Os usuários podem usar o comando jar do JDK (Java Development Kit) ou o software ZIP regular para extrair o conteúdo dos arquivos JAR. Os arquivos JAR são uma maneira muito conveniente de baixar um aplicativo Web inteiro em um único arquivo, sem precisar baixar todos os arquivos que compõem o aplicativo Web separadamente. Para ler / gravar arquivos JAR, os desenvolvedores Java usam as classes contidas no pacote java.util.zip. Se o arquivo JAR deve ser executado como um aplicativo independente, uma das classes será especificada como a classe "principal" nas entradas do arquivo de manifesto. Arquivos JAR executáveis ​​podem ser executados usando o comando java com o atributo jar (ou seja, java -jar foo.jar).

O que é WAR?

WAR (aRchive de aplicativo da web) é um arquivo JAR usado como um contêiner para um grupo de arquivos de recursos de aplicativos da web (que compõem um aplicativo da web) como JSP (Java Server Pages), servlets, arquivos de classe, arquivos XML e web (HTML ) Páginas. Os arquivos WAR são identificados por sua extensão .war. Eles foram desenvolvidos pela Sun Microsystems (desenvolvedores originais da linguagem de programação Java). Assinaturas digitais usadas em arquivos JAR (para confiar o código) também podem ser usadas em arquivos WAR.

Um arquivo WAR é organizado internamente em uma hierarquia de diretórios especiais. A estrutura do aplicativo da web contida no arquivo WAR é definida no arquivo web.xml (que reside dentro do diretório / WEB-INF). Web.xml também descreve qual URL está conectado a qual servlet. Eles também definem as variáveis ​​acessíveis no servelet e as dependências que devem ser configuradas. No entanto, se o arquivo WAR contiver apenas arquivos JSP, o arquivo web.xml será opcional.

Qual é a diferença entre JAR e WAR?

Os arquivos JAR têm a extensão .jar, enquanto os arquivos WAR têm a extensão .war. Mas, um arquivo WAR é um tipo específico de arquivo JAR. Os arquivos JAR contêm arquivos de classe, bibliotecas, recursos e arquivos de propriedades. Os arquivos WAR contêm servlets, páginas JSP, páginas HTML, codificação JavaScript. Arquivos JAR são usados ​​para arquivar um aplicativo Java (desktop) inteiro, enquanto arquivos WAR são usados ​​para implementar aplicativos da Web.