Foros del Web » Programación para mayores de 30 ;) » Java »

Archivo .jar no se ejecuta

Estas en el tema de Archivo .jar no se ejecuta en el foro de Java en Foros del Web. Tengo una aplicación Java de escritorio desarrollada con NetBeans 6.8, con la versión 1.6 tanto de JDK como de la máquina virtual. Generé el archivo ...
  #1 (permalink)  
Antiguo 19/06/2010, 09:13
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Archivo .jar no se ejecuta

Tengo una aplicación Java de escritorio desarrollada con NetBeans 6.8, con la versión 1.6 tanto de JDK como de la máquina virtual.

Generé el archivo .jar y corre sin ningún problema en el equipo de origen, pero al pasar a otro equipo, dice no encontrar la clase principal. El archivo MANIFEST.NF tiene el nombre correcto de la clase principal. Abriendo el .jar desde la consola, arroja el error "unsupported major.minor version 50.0" que según investigué acusa un problema de compatibilidad con la máquina virtual del equipo destino. ¿Cómo puedo solucionar esto?

Esto me urge, así que cualquier información me sirve.
  #2 (permalink)  
Antiguo 19/06/2010, 10:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Respuesta: Archivo .jar no se ejecuta

Ese error se da por que estas compilando tus clases con Java 6 e intentando ejecutarlas en una JDK con una versión menor. La solución es compilar con un JDK igual a la versión donde lo vas a ejecutar o configurar el compilador para que el "target" sea la versión menor.

Un ejemplo de hacerlo con javac se puede ver aquí: http://java.sun.com/j2se/1.5.0/docs/...sscomp-example

Con el NetBeans no se como se hace.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 19/06/2010, 10:45
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Archivo .jar no se ejecuta

Cita:
Iniciado por GreenEyed Ver Mensaje
Ese error se da por que estas compilando tus clases con Java 6 e intentando ejecutarlas en una JDK con una versión menor. La solución es compilar con un JDK igual a la versión donde lo vas a ejecutar o configurar el compilador para que el "target" sea la versión menor.

Un ejemplo de hacerlo con javac se puede ver aquí: [url]http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javac.html#crosscomp-example[/url]

Con el NetBeans no se como se hace.
Si el target es una versión anterior a la de la fuente, ¿funciona igual? Quiero decir, si hay elementos que sólo existen en la versión más reciente, ¿al cambiar el target no se produciría algún error de incompatibilidad?

Lo probaré de todos modos. Gracias.

EDIT: Probé cambiarle el target y no funciona. La versión del target no puede ser anterior a la del source. Y no puedo compilar con una versión antigua pq hay elementos incompatibles. Si actualizo la máquina virtual del equipo de destino, debería funcionar supongo ¿no? Probaré.
  #4 (permalink)  
Antiguo 19/06/2010, 14:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Respuesta: Archivo .jar no se ejecuta

Para compilar con un target inferior has de poner un source inferior también, como has descubierto. Obviamente, sólo funciona si tu aplicación es compatible con la versión anterior. Si no, no te queda más que actualizar la versión en el equipo destino o cambiar tu código para que sea retro-compatible, lo cual a veces es una p@#~ y a veces no se puede hacer. Por ejemplo, el API de Scripting no existía antes de Java 6, así que hacerlo funcionar con una versión anterior simplemente no es posible.

Así que si puedes, actualiza la versión de la maquina destino, sí. Además te irá mejor por que Java 6 rinde mucho mejor que las versiones anteriores .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 19/06/2010, 15:15
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Archivo .jar no se ejecuta

Gracias GreenEyed, finalmente pude hacerlo funcionar en la otra máquina compilándolo con source y target 1.5. Pero ahora me surgió otro problema. Mi aplicación usa una base de datos mysql, y al instalarla en otro equipo esa conección con la base de datos no funciona. Una vez que instalé MySQL en la máquina de destino (y cree la base de datos) funcionó, pero la idea es distribuir la aplicación y que funcione sin la necesidad de instalar MySQL en cada equipo. ¿Cómo integro la base de datos a la distribución? ¿Se puede hacer algo así? Ojalá que sí se pueda porque de lo contrario estoy en serios problemas!
  #6 (permalink)  
Antiguo 20/06/2010, 00:56
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Respuesta: Archivo .jar no se ejecuta

Hombre, meterse en distribuir MySQL es algo que no es sencillo, por razones técnicas y por razones de licencia (MySQL es GPL), pero si lo que necesitas es tener una BDD que "se mueva" con tu aplicación, puedes optar por una BDD embebidda y Java 100%, como por ejemplo HSQLDB o Derby.
Si no hay que acceder a la BDD desde otros programas, entonces es una buena solución.
Para hacer demos, entregar prácticas o similares va estupendo. Igual que para aplicaciones "auto-contenidas".

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: jar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:13.