una ruta proyecto obtener ejecutar carpeta archivos aplicacion abrir java jar

java - ruta - Cómo ejecutar un archivo JAR



obtener la ruta de mi proyecto en java (12)

Creé un archivo JAR como este:

jar cf Predit.jar *.*

Ejecuté este archivo JAR haciendo doble clic en él (no funcionó). Así que lo ejecuté desde el prompt de DOS así:

java -jar Predit.jar

Lanzó excepciones de "Falló para cargar la clase principal". Así que 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, dime los pasos para ejecutar el archivo JAR


Agregando a otras respuestas

Si el archivo jar no tiene ningún punto de entrada y solo desea proporcionar la clase manualmente ,

java -jar <jar file location> <class to run in jar>

para responder la pregunta, puede ser

java -jar Predit.jar Predit


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:

Test.java:

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

manifest.mf:

Manifest-version: 1.0 Main-Class: Test

Tenga en cuenta que el archivo de texto debe finalizar 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 retorno de carro.

Entonces corre:

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

Salida:

Hello world


Java

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

manifest.mf

Manifest-version: 1.0 Main-Class: Hello

En línea de comando:

$ jar cfm HelloMss.jar manifest.mf Hello.class $ java -jar HelloMss.jar

Salida:

Hello Shahid


Para ejecutar jar, primero debes crear

bote ejecutable

entonces

java -jar xyz.jar

comando funcionará


Si no desea crear un manifiesto solo para ejecutar el archivo jar, puede hacer referencia a la clase principal directamente desde la línea de comando cuando ejecuta el archivo jar.

java -jar Predit.jar -classpath your.package.name.Test

Esto establece qué clase principal ejecutar en el archivo jar.


Si no desea tratar con esos detalles, también puede utilizar los asistentes jar de exportación de Eclipse o NetBeans.


Tengo esta estructura de carpeta:

D: / JavaProjects / OlivePressApp / com / lynda / olivepress / Main.class D: / JavaProjects / OlivePressApp / com / lynda / olivepress / press / OlivePress.class D: / JavaProjects / OlivePressApp / com / lynda / olivepress / olives / Kalamata .class D: / JavaProjects / OlivePressApp / com / lynda / olivepress / olives / Ligurian.class D: / JavaProjects / OlivePressApp / com / lynda / olivepress / olives / Olive.class

Main.class está en el paquete com.lynda.olivepress

Hay otros dos paquetes:

com.lynda.olivepress.press

com.lynda.olivepress.olive

1) Cree un archivo llamado "Manifest.txt" con dos líneas, primero con clase principal y una segunda línea vacía.

Main-Class: com.lynda.olivepress.Main

D: / JavaProjects / OlivePressApp / Manifest.txt

2) Crear JAR con Manifiesto y punto de entrada de clase principal

D: / JavaProjects / OlivePressApp> jar cfm OlivePressApp.jar Manifest.txt com/lynda/olivepress/Main.class com/lynda/olivepress/*

3) Ejecutar JAR

java -jar OlivePressApp.jar

Nota: com/lynda/olivepress/* significa que incluye los otros dos paquetes mencionados anteriormente, antes del punto 1)


Tienes que agregar un manifiesto al jar, que le dice al tiempo de ejecución java cuál es la clase principal. Crea 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 Jar-file, en una subcarpeta llamada ''META-INF''. Puede usar cualquier utilidad ZIP para eso.


Un enfoque muy simple para crear archivos .class, .jar.

Ejecutando el archivo jar No hay necesidad de preocuparse demasiado por el archivo manifiesto. Hazlo simple y elgant.

Java sample Hello World Program

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

Compilando el archivo de clase

javac HelloWorld.java

Creando el archivo jar

jar cvfe HelloWorld.jar HelloWorld HelloWorld.class

o

jar cvfe HelloWorld.jar HelloWorld *.class

Ejecutando el archivo jar

java -jar HelloWorld.jar

O

java -cp HelloWorld.jar HelloWorld


antes de ejecutar la comprobación de jar Clase principal: classname está disponible o no en el archivo MANIFEST.MF . MANIFEST.MF está presente en jar.

java -jar filename.jar


Eclipse Runnable JAR File

Crear un proyecto Java - RunnableJAR

  • Si se utilizan archivos jar , agréguelos a la ruta de compilación del proyecto.
  • Seleccione la clase que tenga main () mientras crea el archivo Runnable Jar.

Clase principal

public class RunnableMainClass { public static void main(String[] args) throws InterruptedException { System.out.println("Name : "+args[0]); System.out.println(" ID : "+args[1]); } }

Ejecute el archivo Jar usando el programa java ( cmd ) proporcionando argumentos y obteniendo el resultado y visualización en la consola de eclipse.

public class RunJar { static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throws IOException { String jarfile = "D://JarLocation//myRunnable.jar"; String name = "Yash"; String id = "777"; try { // jarname arguments has to be saperated by spaces Process process = Runtime.getRuntime().exec("cmd.exe start /C java -jar "+jarfile+" "+name+" "+id); //.exec("cmd.exe /C start dir java -jar "+jarfile+" "+name+" "+id+" dir"); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream ())); String line = null; while ((line = br.readLine()) != null){ sb.append(line).append("/n"); } System.out.println("Console OUTPUT : /n"+sb.toString()); process.destroy(); }catch (Exception e){ System.err.println(e.getMessage()); } } }

En Eclipse para encontrar atajos :

Ayuda ► Contenido de la ayuda ► Guía de usuario de desarrollo Java ► Referencias ► Menús y acciones


java -classpath Predit.jar your.package.name.MainClass