Cómo ejecutar un archivo JAR

Resuelto asked hace 15 años • 0 respuestas

Creé un archivo JAR como este:

jar cf Predit.jar *.*

Ejecuté este archivo JAR haciendo doble clic en él (no funcionó). Entonces lo ejecuté desde el indicador de DOS de esta manera:

java -jar Predit.jar

Planteó excepciones de "Error al cargar la clase principal". Entonces extraje este archivo JAR:

jar -xf Predit.jar

y ejecuté el archivo de clase:

java Predit

Funcionó bien. No sé por qué el archivo JAR no funcionó. Por favor dígame los pasos para ejecutar el archivo JAR.

 avatar Aug 06 '09 17:08
Aceptado

Debe especificar una clase principal en el manifiesto del archivo jar.

El tutorial de Oracle contiene una demostración completa, pero aquí hay otra desde cero. Necesitas dos archivos:

Prueba.java:

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("Hello world");
    }
}

manifiesto.mf:

Manifest-version: 1.0
Main-Class: Test

Tenga en cuenta que el archivo de texto debe terminar con una nueva línea o retorno de carro. La última línea no se analizará correctamente si no termina con una nueva línea o un retorno de carro.

Entonces corre:

javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar

Producción:

Hello world
Jon Skeet avatar Aug 06 '2009 10:08 Jon Skeet
java -classpath Predit.jar your.package.name.MainClass
Lynch avatar Feb 16 '2011 18:02 Lynch

Antes de ejecutar, la verificación del jar Main-Class: classnameestá disponible o no en el archivo MANIFEST.MF . MANIFEST.MF está presente en el frasco.

java -jar filename.jar
KARTHIKEYAN.A avatar Dec 04 '2016 00:12 KARTHIKEYAN.A

Tienes que agregar un manifiesto al jar, que le dice al tiempo de ejecución de Java cuál es la clase principal. Cree un archivo 'Manifest.mf' con el siguiente contenido:

Manifest-Version: 1.0
Main-Class: your.programs.MainClass

Cambie 'your.programs.MainClass' a su clase principal real. Ahora coloque el archivo en el archivo Jar, en una subcarpeta llamada 'META-INF'. Puedes usar cualquier utilidad ZIP para eso.

Florian Fankhauser avatar Aug 06 '2009 10:08 Florian Fankhauser