Qual é a diferença entre um .jar
e um .war
arquivo?
É apenas a extensão do arquivo ou há algo mais?
Qual é a diferença entre um .jar
e um .war
arquivo?
É apenas a extensão do arquivo ou há algo mais?
Respostas:
Das dicas do Java: Diferença entre ear jar e arquivos war :
Esses arquivos são simplesmente arquivos compactados usando a ferramenta java jar. Esses arquivos são criados para diferentes propósitos. Aqui está a descrição desses arquivos:
Arquivos .jar: os arquivos .jar contêm arquivos de bibliotecas, recursos e acessórios, como arquivos de propriedades.
Arquivos .war: O arquivo war contém o aplicativo da web que pode ser implementado em qualquer contêiner servlet / jsp. O arquivo .war contém jsp, html, javascript e outros arquivos necessários para o desenvolvimento de aplicativos da web.
Descrições oficiais da Sun / Oracle:
Artigos da Wikipedia:
Um .war
arquivo tem uma estrutura específica em termos de onde determinados arquivos estarão. Fora isso, sim, é apenas um .jar
.
Você inclui componentes da web em um aplicativo J2EE em um pacote chamado WAR (Application Archive Archive), que é um JAR semelhante ao pacote usado para bibliotecas de classes Java. Um WAR geralmente contém outros recursos além dos componentes da web, incluindo:
- Classes de utilitário do lado do servidor (beans de banco de dados, carrinhos de compras e assim por diante).
- Recursos estáticos da Web (HTML, imagem e arquivos de som etc.)
- Classes do lado do cliente (applets e classes de utilitário)
Um WAR possui uma estrutura de diretório hierárquica específica. O diretório de nível superior de um WAR é a raiz do documento do aplicativo. A raiz do documento é onde as páginas JSP, as classes e os arquivos do lado do cliente e os recursos estáticos da Web são armazenados.
( fonte )
Portanto, um .war é um .jar, mas contém componentes de aplicativos da web e é organizado de acordo com uma estrutura específica. Um .war foi projetado para ser implementado em um servidor de aplicativos da web, como Tomcat ou Jetty, ou em um servidor Java EE, como JBoss ou Glassfish.
Um .war
arquivo é um Web Application Archive que é executado dentro de um servidor de aplicativos enquanto um .jar
é o Java Application Archive que executa um aplicativo de desktop na máquina do usuário.
Um arquivo war é um arquivo jar especial usado para empacotar um aplicativo da web para facilitar a implantação em um servidor de aplicativos. O conteúdo do arquivo war deve seguir uma estrutura definida.
.jar e .war são arquivos compactados compactados. Ambos podem ter o arquivo de manifesto META-INF / MANIFEST.MF opcional, que contém informações informativas como controle de versão e atributos instrucionais como caminho de classe e classe principal para a JVM que o executará.
Arquivo .war - o Web Application Archive pretende ser executado dentro de um 'Servlet Container' e pode incluir outros arquivos jar (no diretório WEB-INF / lib) classes compiladas (em WEB-INF / classes (o servlet também é fornecido)) .jsp arquiva imagens, arquivos etc. Todo o conteúdo WAR existente para criar um módulo independente.
Guerra -
distribuir aplicativos da web baseados em Java. Um WAR possui a mesma estrutura de arquivo que um arquivo JAR, que é um único arquivo compactado que contém vários arquivos incluídos nele.
Jar -
Os arquivos .jar contêm arquivos de bibliotecas, recursos e acessórios, como arquivos de propriedades.
Os arquivos WAR são usados para combinar JSPs, servlets, arquivos de classe Java, arquivos XML, bibliotecas javascript, bibliotecas JAR, páginas estáticas da web e quaisquer outros recursos necessários para executar o aplicativo.
Jar : - jar contém apenas .class war : - war contém html, js, css e .class, além de páginas jsp e servlets
Os arquivos JAR permitem empacotar vários arquivos para usá-lo como uma biblioteca, plug-in ou qualquer tipo de aplicativo. Por outro lado, os arquivos WAR são usados apenas para aplicativos da web.
O JAR pode ser criado com qualquer estrutura desejada. Por outro lado, o WAR possui uma estrutura predefinida com os diretórios WEB-INF e META-INF.
Um arquivo JAR permite que o Java Runtime Environment (JRE) implemente um aplicativo inteiro, incluindo as classes e os recursos associados em uma única solicitação. Por outro lado, um arquivo WAR permite testar e implementar um aplicativo da Web facilmente.
Uma extensão de arquivo JAR é .jar e é criada com o comando jar no prompt de comando (como o comando javac é executado). Geralmente, um arquivo JAR contém recursos relacionados a Java, como bibliotecas, classes etc. O arquivo JAR é como o arquivo winzip, exceto que os arquivos Jar são independentes da plataforma.
Um arquivo WAR é simplesmente um arquivo JAR, mas contém apenas arquivos Java relacionados à Web, como Servlets, JSP, HTML.
Para executar um arquivo WAR, é necessário um servidor da Web ou um contêiner da Web, por exemplo, Tomcat ou Weblogic ou Websphere. Para executar um arquivo JAR, o JDK simples é suficiente.