Cuando utiliza la asociación javaw
, no crea una ventana de comandos y se traga todas las invocaciones System.out
y System.err
.
Debería reasociar su archivo .jar
con el binario java
, que debería mostrar la ventana de comandos necesaria.
Si usó la opción simple Open With...
, se habrá omitido la opción -jar
desde la línea de comandos.
abrir una ventana de comandos de administrador (esto es necesario si está usando Vista o Windows 7 con UAC activado) y hacer:
assoc .jar=jarfileterm
ftype jarfileterm="C:\Program Files\Java\jre7\bin\java.exe" -jar "%1" %*
En su caso, se debe sustituir la ruta C:\Program Files\Java\jre7\bin\java.exe
con el para su instalación de la jre.
Al hacer doble clic en esto, debe ejecutarse correctamente.
Se puede agregar otro ftype:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
nuevo que sustituye la ruta al binario javaw con el que es para el sistema.
Ahora debería ser capaz de cambiar entre ventanas y no en ventanas mediante la elección de forma alterna y assoc .jar=jarfileterm
assoc .jar=jarfile
Si desea mantener la ventana de comandos después de ejecutar el torno.tarro, entonces rodean la llamada del comando java con una cmd /s /k
a saber:
ftype jarfileterm=cmd /s /k ""C:\Program Files\Java\jre7\bin\java.exe" -jar "%1" %*"
assoc .jar=jarfileterm
Si estos comandos trabajaron, a continuación, hacer doble clic en el archivo jar provocará una ventana de comandos para que se levante y persisten.
No puede establecer una línea de comando lo suficientemente compleja con Open With...
o con Default Programs
que permitirá que se ejecute el archivo jar. Si ha intentado con éxito todos estos esfuerzos ftype
y assoc
comandos y todavía no funciona, tendrá que pelar el editor de registro.
lanzamiento regedit
, y la búsqueda de una clave llamada .jar bajo HKEY_CLASSES_ROOT
- esto debería resultar en un único valor por debajo de ella llama (Default)
con un valor, si sus llamadas al comando ftype trabajadas, entonces debería leer jarfileterm
. Si no funcionó, entonces está buscando una asociación que puede haber sido creada por otra aplicación (no sé si el actualizador de Java reemplaza estas entradas, pero si lo hace, entonces este podría ser el problema)
Debe buscar esta clave en el HKEY_CLASSES_ROOT
. Encontrará esta entrada, que debe contener la clave Shell
(es decir, expanda la carpeta jarfileterm
y debe mostrar otra carpeta Shell
), que contiene una clave Open
que contiene una clave Command
que contiene un valor (Default)
que debe contener el comando de invocación para lanzando archivos .jar Este comando debe coincidir con las últimas entradas ftype jarfileterm=...
que escribió. Si no lo hace, debe hacer que coincida con una de las opciones cmd /s /k
o "c: \ program files \ java \ jre7 \ bin \ java.exe" (según si desea persistir en la ventana de comandos en caso de error al iniciar o no)
¡Cuando asocia su .jar a javaw, deliberadamente no muestra una ventana de comandos! asociarlo a java, y debería ver la ventana – Petesh
@Petesh ¿Puede agregar este comentario como respuesta? Estoy seguro de que serás recompensado. – adarshr
Asociarme con java.exe. Sin embargo, la ventana solo se muestra por una fracción de segundo. Sírvase referir la publicación actualizada – whitehat