Saltar al contenido

¿Por qué mi archivo JAR se ejecuta en CMD, pero no al hacer doble clic?

Recuerda que en las ciencias cualquier problema casi siempere suele tener más de una soluciones, no obstante compartiremos lo más óptimo y mejor.

Solución:

Ok, estuve atascado en este problema exacto durante más de una semana (ha sido para un proyecto paralelo al que solo podía dedicar unas pocas horas al día).

Esto sucedió en mi computadora de escritorio, pero por alguna razón no sucedería en la computadora portátil.

Después de buscar, encontré esta respuesta y pensé en compartirla para las personas que son como yo, no encontré nada útil en la respuesta aceptada aquí. Los créditos van al usuario anónimo de Stack Overflow, cuyo nombre de usuario perdí con toda la emoción.

Como lo menciona alguna otra respuesta en algún lugar a un problema aparentemente no relacionado, use este pequeño programa para asociar sus archivos JAR a la versión de Java de 64 bits:

http://johann.loefflmann.net/en/software/jarfix/index.html

Guarde el programa en algún lugar y ejecútelo desde la línea de comandos con el parámetro /64: c://ruta//jarfix.exe /64

Nada más funcionó para mí, pero esto fue como magia. 🙂

El JAR es ejecutable desde CMD. Eso significa que el propio JAR está formado correctamente. Bien.

La única razón para fallar ahora es que hacer doble clic no produce un comando correcto. El comando esperado, como dijiste correctamente, es

java -jar Modeler.jar

Pero cuando asocia javaw.exe con una extensión JAR, sospecho que se ejecuta

javaw Modeler.jar

Es fácil de verificar: haga un archivo javajar.cmd, que contenga lo siguiente

javaw -jar %*

y asociarlo con JAR. Si tu aplicación comienza bien, tengo razón. De lo contrario, lo siento.

Me cansé de no poder modificar las asociaciones de archivos en el Panel de control de Windows 7 y edité el registro (NOTA: no es una mala idea establecer un punto de restauración antes de continuar si cree que hay ALGUNA posibilidad de que pueda equivocarse) () No configuré el punto de restauración ni lo arruiné):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTjar_auto_file]
@=""
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOTjar_auto_fileshell]

[HKEY_CLASSES_ROOTjar_auto_fileshellopen]

[HKEY_CLASSES_ROOTjar_auto_fileshellopencommand]
@=""C:\Program Files\Java\jdk1.7.0_60\bin\javaw.exe" -jar "%1" %*"

Esto supone que .jar los archivos tienen (Default) valor jar_auto_file. Si no, haz esto:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.jar]
@="jar_auto_file"

ps Un problema que encontré en el registro fue que jarfile se asoció con Netbeans, Chrome y java.exe, así como con Applicationsjava.exe. Eliminé todo ese nodo (después de exportarlo, solo para poder volver a colocarlo si era esencial; no lo era). Ahora no hay jarfile en mi registro y todos los archivos .jar se ejecutan como antes.

Esto se manifiesta al mostrar más de un tipo de archivo asociado con .jar archivos en el Panel de control. Tu quieres esto:

ingrese la descripción de la imagen aquí

Si se muestra más de un elemento en Programas recomendados, busque en el registro jarfile y (exportar primero, luego) eliminar ese nodo:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.jar

Si para ti ha resultado de utilidad este artículo, agradeceríamos que lo compartas con otros juniors de esta manera nos ayudas a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *