Un archivo JAR (Java Archive) es un formato de archivo de paquete utilizado habitualmente para agregar múltiples archivos de clase Java, junto con sus metadatos y recursos asociados (como texto, imágenes, etc.), en un único archivo para su distribución. Los archivos JAR se basan en el formato de archivo ZIP y utilizan la extensión de archivo .jar. Se emplean principalmente para la distribución de aplicaciones Java, bibliotecas y applets. Una característica clave es que los archivos JAR pueden ejecutarse directamente si contienen un archivo de manifiesto (manifest file) que especifique la clase principal (main class). Esto permite a los usuarios ejecutar la aplicación sin necesidad de extraer manualmente el contenido del archivo comprimido. Además, los archivos JAR admiten firmas digitales, las cuales se utilizan para verificar la autenticidad e integridad del contenido. Esto resulta fundamental al distribuir aplicaciones a través de Internet, ya que ayuda a prevenir la inyección de código malicioso en la aplicación. Asimismo, los archivos JAR pueden comprimirse para reducir su tamaño, facilitando su descarga y distribución. Representan una parte esencial del ecosistema Java, permitiendo la modularidad y la reutilización del código de manera eficiente.