logo-java

Un archivo JAR (Java ARchive) es un formato independiente de la plataforma que se utiliza para agregar muchos archivos de clase Java y metadatos y recursos asociados, como texto, imágenes, etc., en un único archivo para su distribución.

Permite que los tiempos de ejecución de Java implementen de manera eficiente una aplicación completa en un solo archivo, y proporciona muchos beneficios, como seguridad, sus elementos pueden comprimirse, acortar los tiempos de descarga, permite el sellado y el control de versiones del paquete, admite la portabilidad. También admite empaques para extensiones.

En este artículo, mostraremos cómo crear una aplicación Java simple y agruparla en un archivo JAR, y cómo ejecutar un archivo .jar desde la terminal de Linux.

Para hacer esto, debes tener la herramienta de línea de comandos java instalados para iniciar una aplicación Java y el indicador -jar para ejecutar un programa encapsulado en un archivo JAR. Cuando se usa este indicador, el archivo JAR especificado es el origen de todas las clases de usuario, y se ignoran otras configuraciones de ruta de clase.

1. Primero comienza escribiendo una clase Java simple con un método principal para una aplicación llamada TecmintApp, para fines de demostración.

$ vim pruebaApp.java

Copia y pega el siguiente código en el archivo pruebaApp.java.

public class pruebaApp {
public static void main(String[] args){
System.out.println(" Just executed pruebaApp! ");
}
}

Guarda y cierra el archivo

2. A continuación, tenemos que compilar y empaquetar la clase en un archivo JAR utilizando las utilidades javac y jar como se muestra.

$ javac -d . prueba.java
$ ls
$ jar cvf pruebatapp.jar pruebaApp.class
$ ls

3. Una vez creado prueba.jar, ahora puedes ejecutar el archivo usando el comando java como se muestra.

$ java -jar prueba.jar
no main manifest attribute, in prueba.jar

A partir de la salida del comando anterior, encontramos un error. La JVM (Java Virtual Machine) no pudo encontrar nuestro atributo manifiesto principal, por lo que no pudo ubicar la clase principal que contiene el método principal (public static void main (String [] args)).

El archivo JAR debe tener un manifiesto que contenga una línea en el formulario Clase principal: nombre de clase que define la clase con el método principal que sirve como punto de partida de nuestra aplicación.

4. Para solucionar el error anterior, necesitaremos actualizar el archivo JAR para incluir un atributo Manifest junto con nuestro código. Vamos a crear un archivo MANIFEST.MF.

$ vim MANIFEST.MF

Copia y pega la siguiente línea en el archivo MANIFEST.MF.

Main-Class:  pruebaApp

Guarda el archivo y agreguemos el archivo MANIFEST.MF a nuestra prueba.jar usando el siguiente comando.

$ jar cvmf MANIFEST.MF prueba.jar prueba.class

5. Finalmente, cuando ejecutamos el archivo JAR nuevamente, debería producir el resultado esperado como se muestra en la salida.

$ java -jar prueba.jar
Just executed pruebaApp!

Para obtener más información, consulta las páginas man de java, javac y jar.

$ man java
$ man javac
$ man jar

 

Fuente: tecmint | maslinux

¿Quién está en línea?

Hay 27036 invitados y ningún miembro en línea