¿Cuál es la diferencia entre los archivos JAR y WAR?

los diferencia principal entre archivos JAR y WAR es que el Los archivos JAR son los archivos que tienen archivos de clase Java, metadatos asociados y recursos agregados en un solo archivo para ejecutar una aplicación Java, mientras que los archivos WAR son los archivos que contienen Servlet, JSP, HTML, JavaScript y otros archivos necesarios para desarrollar aplicaciones web..

Java es un lenguaje de programación de alto nivel, de propósito general, que se utiliza para desarrollar aplicaciones para varios dominios. Java es popular debido a múltiples razones. El código fuente de Java se compila en un código intermedio llamado código de bytes. Cualquier plataforma con una Máquina Virtual Java (JVM) puede ejecutar este bytecode. Por lo tanto, Java es independiente de la plataforma. Además, Java es robusto, seguro y admite subprocesos múltiples. Dos tipos de archivos relacionados con la programación de Java son JAR y WAR.

Áreas clave cubiertas

1. ¿Qué son los archivos JAR?
     - Definición, Funcionalidad
2. Qué son los archivos WAR
     - Definición, Funcionalidad
3. ¿Cuál es la diferencia entre los archivos JAR y WAR?
    - Comparación de diferencias clave

Términos clave

JAR, Java, JVM, WAR

¿Qué son los archivos JAR?

Un archivo JAR es un archivo que contiene todos los componentes para hacer una aplicación Java ejecutable autónoma. Además, un archivo JAR incluye código fuente Java compilado, archivo de manifiesto, datos de configuración basados ​​en XML, archivos de datos basados ​​en JSON, imágenes y audio. Es una agregación de todos estos archivos en un solo archivo comprimido. Comprimir todos los archivos ayuda a reducir el tamaño de la aplicación. Además, hace que sea más fácil mover el archivo JAR a través de la red entre diferentes plataformas.

Figura 1: Agregar archivos Java

Cada Java Development Kit (JDK) incluye una utilidad JAR para admitir archivos JAR. Permite crear nuevos archivos JAR con un archivo de manifiesto y extraer todo el contenido de un archivo JAR en el sistema de archivos. Además, la utilidad JAR ayuda a actualizar los archivos JAR existentes..

Qué son los archivos WAR

Un archivo WAR contiene archivos relacionados con un proyecto web. Contiene archivos de servlet, JSP, XML, HTML, CSS y JavaScript que se pueden implementar en cualquier contenedor de servlet / JSP. La herramienta jar de JDK ayuda a crear un archivo WAR. Estos archivos están dentro de la carpeta WEB-INF del proyecto. Un archivo WAR combina todos los archivos en una sola unidad. Por lo tanto, se necesita una cantidad mínima de tiempo para transferir un archivo del cliente al servidor.

Figura 2: Aplicación Web JSP

Existen dos métodos para implementar un archivo WAR: mediante el uso del panel de control del servidor o al tener el archivo war en forma manual en una carpeta específica del servidor. Si el programador desea implementar un archivo WAR en un servidor como Apache Tomcat manualmente, puede ir al directorio webapps de Tomcat y pegar el archivo WAR en ese directorio. Si no, al ejecutar el proyecto web, el servidor extrae el archivo WAR internamente.

Diferencia entre archivos JAR y WAR

Definición

Un archivo JAR es un archivo con clases Java, metadatos asociados y recursos como texto, imágenes agregadas en un archivo. Un archivo WAR es un archivo que se utiliza para distribuir una colección de archivos JAR, JSP, Servlet, archivos XML, páginas web estáticas como HTML y otros recursos que constituyen una aplicación web. Por lo tanto, esto explica la principal diferencia entre los archivos JAR y WAR.. 

Forma larga

Archivo JAR significa Java Archive. Archivo WAR significa Web Application Resource o Web Application Archive..

Extensión de archivo

Además, un archivo JAR tiene la extensión de archivo .jar, mientras que un archivo WAR tiene la extensión de archivo .war.

Consiste en

Los archivos JAR incluyen código fuente compilado de Java, archivo de manifiesto, datos de configuración basados ​​en XML, archivos de datos basados ​​en JSON, imágenes y audio. En contraste, los archivos WAR contienen archivos servlet, JSP, XML, HTML, CSS y JavaScript. Por lo tanto, esta es otra diferencia entre los archivos JAR y WAR..

Uso

Sus atributos de uso a otra diferencia entre archivos JAR y WAR. Es decir; un archivo JAR permite que Java Runtime Environment (JRE) implemente una aplicación completa, incluidas las clases y los recursos asociados en una sola solicitud. Por otro lado, un archivo WAR permite probar y desplegar una aplicación web fácilmente.

Conclusión

La principal diferencia entre los archivos JAR y WAR es su contenido. Los archivos JAR son los archivos que tienen archivos de clase Java, metadatos asociados y recursos agregados en un solo archivo para ejecutar una aplicación Java. Considerando que, los archivos WAR son los archivos que contienen Servlet, JSP, HTML, JavaScript y otros archivos necesarios para el desarrollo de aplicaciones web.

Referencia:

1. "JAR (Formato de archivo)". Wikipedia, Wikimedia Foundation, 26 de agosto de 2018, disponible aquí.
2. “¿Qué es el archivo JAR (archivo Java)? - Definición de WhatIs.com. ”TheServerSide.com, disponible aquí.
3. “WAR (Formato de archivo)”. Wikipedia, Wikimedia Foundation, 13 de julio de 2018, disponible aquí.

Imagen de cortesía:

1. "Glpk para las propiedades del proyecto Eclipse de Java" Por Xypron - Trabajo propio (CC BY-SA 3.0) a través de Commons Wikimedia
2. "JSPLife" Por usuario: Zedlander, usuario: Sae1962 - (CC BY-SA 3.0) a través de Commons Wikimedia