Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ejecutar JAR

Hola,

Soy nuevo en esto del java, y necesito ayuda, la verdad es que de estos foros he solucionado algunos problemas, por eso pregunto aqui. Mi problema es que he compilado un JAR y desde el Netbeans me funciona correctamente, pero al ejecutarlo fuera del IDE no hace absoluntamente nada. Espero ideas.

Gracias.

mayo 13, 2013 | Unregistered Commentermak00

Ejecútalo el jar desde el terminar, en caso de haber error allí te lo mostrará.

Compartenos que te muestra el terminal.

mayo 13, 2013 | Registered Commenterresalpa84

Casi apostaría a que es un problema con los recursos de la aplicación.
Pero, como bien dice resalpa, no es posible adivinar la causa de los problemas. Es imprescindible saber qué excepciones se lanzan, como mínimo.

mayo 13, 2013 | Registered Commenterchoces

Al compilarlo me da 1 warning: "warning: [options] bootstrap class path not set in conjunction with -source 1.6"

Al ejecutarlo, antes no me salia nada (que es lo que mas me extrañaba) pero hoy si me ha salido un error: "A Java Exception has ocurred."

mayo 14, 2013 | Unregistered Commentermak00

En primer lugar tendrías que asegurarte que estás ejecutando ese jar a través de la maquina virtual. Además si utilizas recursos adicionales (otros jars,...) tendrás que añadirlos al path de ejecución de la maquina virtual. De todos modos, para que puedas saber que está ocurriendo tienes que encontrar la traza de error y ver que te indica allí.

Un saludo

mayo 14, 2013 | Registered Commenterprogramarenjava

Decías que al ejecutarlo desde NetBeans funcionaba bien, y que al ejecutarlo como aplicación de escritorio no funcionaba.

¿Cuál es esa excepción que te lanza?. Haz como te indicaba resalpa, y ejecútalo desde la consola del Sistema Operativo, para que veas la excepción completa.

@programarenjava
Si está desarrollando la aplicación con NetBeans, todos esos detalles sobre classpath ya los resuelve el builder de NetBeans.

mayo 14, 2013 | Registered Commenterchoces

Lo he desarrollado en Netbeans, lo he probado desde la consola y me lanza ese error "A Java Exception has ocurred", He usado una libreria externa, el jDom para manejar xml, no se si tendrá algo que ver. Lo de añadir el jar al path de ejecución de la maquina virtual no se hacerlo (ya dije que estoy empezando) y lo de encontrar la traza del error como lo hago?
Para ejecutar desde la consola, por internet he encontrado varias maneras, las he probado y ninguna va, si me comentais la buena me haceis un favor.
Ya he hecho alguna aplicacion anterior y funcionaba bien, aunque sin jars externos.

mayo 15, 2013 | Unregistered Commentermak00

Mira una manera de ejecutar desde la consola, en este caso, de Windows:

D:\Docs\NetBeansProjects\Aplicacion\dist>java -jar aplicacion.jar

Se supone que al hacer un build en NetBeans, te ha creado una carpeta dist, donde estará el jar de tu aplicación, y una carpeta lib, donde estarán las librerías externas.
Los classpath estarán en el archivo manifest, dentro del jar de tu aplicación. No tienes que preocuparte de eso, porque NetBeans lo crea por ti.
Si hay una excepción, debes poder verla en la consola.

mayo 15, 2013 | Registered Commenterchoces

Por lo que cuentas, es muy posible que tu problema se deba, como te han comentado, a que NetBeans no empaqueta las librerías directamente en el jar de la aplicación. Puedes seguir estos pasos para que lo haga.

http://tecno-aspirinas.blogspot.com.es/2010/07/incluir-librerias-en-el-jar-con.html

mayo 15, 2013 | Registered Commenterjvel

NetBeans no lo hace porque no es necesario. Las librerías externas se distribuyen en la carpeta lib de dist, y los classpath están en el archivo manifest del jar de la aplicación.

Lo único que no se sabe de este problema, hasta el momento, es qué excepciones se lanzan cuando se ejecuta la aplicación directamente desde el Sistema Operativo, porque, como ha comentado, cuando la ejecuta desde el harness de NetBeans no hay problema.

mayo 15, 2013 | Registered Commenterchoces

He ejecutador el JAR desde la cónsola, y me lanza estas excepciones:

C:\dist>java -jar App.jar
Fichero no valido
java.io.FileNotFoundException: C:\dist\src\fichero.xml (El sistema no puede enc
ontrar la ruta especificada)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown So
urce)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrent
Entity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineD
ocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
arse(Unknown Source)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)

at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)

at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:264)

at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1116)
at App.aho.(ahorcado.java:45)
at Appt.aho$31.run(ahorcado.java:1244)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at App.aho.(ahorcado.java:54)
at App.aho$31.run(ahorcado.java:1244)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Puede ser que no encuentre el xml? No empaqueta los src en el JAR? O es mas complicado?

mayo 16, 2013 | Unregistered Commentermak00

¿Que tienes en esta línea 45 de tu código?
App.aho.(ahorcado.java:45)

mayo 16, 2013 | Registered Commenterchoces

Perdon...

C:\dist>java -jar App.jarFichero no validojava.io.FileNotFoundException: C:\dist\src\fichero.xml (El sistema no puede encontrar la ruta especificada)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.(Unknown Source)at java.io.FileInputStream.(Unknown Source)at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:264)at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1116)at App.aho.(ahorcado.java:45)at Appt.aho$31.run(ahorcado.java:1244)at java.awt.event.InvocationEvent.dispatch(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)at java.awt.EventQueue.access$200(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue.dispatchEvent(Unknown Source)at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.run(Unknown Source)Exception in thread "AWT-EventQueue-0" java.lang.NullPointerExceptionat App.aho.(ahorcado.java:54)at App.aho$31.run(aho.java:1244)at java.awt.event.InvocationEvent.dispatch(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)at java.awt.EventQueue.access$200(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue.dispatchEvent(Unknown Source)at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.run(Unknown Source)

mayo 16, 2013 | Unregistered Commentermak00

App.aho.(aho.java:45)
Son asi, los habia renombrado para hacerlo mas entendible...

mayo 16, 2013 | Unregistered Commentermak00

Te lanza esta excepción:

Fichero no validojava.io.FileNotFoundException: C:\dist\src\fichero.xml (El sistema no puede encontrar la ruta especificada)

que procede de la línea 45 del archivo ahorcado.java de tu aplicación.

at App.aho.(ahorcado.java:45)at Appt.aho$31.run(ahorcado.java:1244)

¿Cuál es el contenido de esas líneas?
Porque lo que la excepción está diciendo es que no puede encontrar ese archivo, porque hay un error que procede de esas líneas.

mayo 16, 2013 | Registered Commenterchoces