2008-09-17 24 views
6

He estado usando Destop.open() para iniciar un visor .pdf en máquinas con Windows, tanto Vista como XP, y la mayoría de ellas funcionan bien. Sin embargo, en una máquina XP la llamada no funciona, simplemente regresa sin arrojar ninguna excepción, y el espectador no se inicia. En esa máquina, la asociación de archivos está configurada correctamente por lo que puedo ver: hacer doble clic en .pdf funciona, al igual que el comando "start xxx.pdf" en el símbolo del sistema. Estoy pensando que debe ser un problema de configuración de Windows, pero no puedo entenderlo.Problema con Java 1.6 y Desktop.open()

¿Alguien más ha visto este problema?

+0

que tienen el mismo problema en Vista. Encontré un informe de error que sugiere que [desinstale magiciso] (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6546085) pero esto no se aplica a mí. – blank

+0

Eche un vistazo a la publicación de mi blog sobre este tema: [java.awt.Desktop open() falla silenciosamente sin excepción] (https://stijndewitt.wordpress.com/2010/09/22/java-awt-desktop -open-falla-silenciosamente-sin-excepción /) –

Respuesta

3

Este es un problema conocido con las primeras versiones de XP SP2, la función ShellExecute dejó de aceptar URI; poner al día los parches de las máquinas XP.

Para ver las excepciones asegúrese de que la consola de Java está encendida:

Control Panel->Java Control Panel->Advanced->Java Console. 
0

todavía tengo este problema con uno de mis clientes, voy a comprobar qué versión de Windows (Por lo que yo recuerdo Él usa Windows 7, 64 bits). La asociación de archivos con pdf está bien (comprobado). Y utiliza la última versión de Java (comprobado las actualizaciones de Java), por lo que sigue siendo un problema real en lo que a mí respecta .....

Sin embargo me encontré en este informe de error: sun bug report 6764271

Se dice que podría tener algo que ver con el registro de algunas de las versiones de adobe (usando READ en lugar de OPEN en el registro de Windows).

Todavía es una pena que un error como este tenga poco prio y siga siendo un error abierto (informado en 2008).

Comprobaré con mi cliente pronto y actualizaré mi respuesta aquí tan pronto como lo haya resuelto.

1

No he podido encontrar la respuesta en ningún lado, pero tengo dos máquinas con Windows 7 de 64 bits que fallan el Desktop.getDesktop(). Open (archivo) con el archivo no se pudo abrir o se deniega el error en java 6 y java 7.

Explorador de Windows es capaz de abrir las aplicaciones basadas en el nombre de archivo con extensión:

Runtime rt = Runtime.getRuntime(); 
rt.exec(new String[]{"explorer", "C:\\myfile.pdf"}); 
rt.exec(new String[]{"explorer", "C:\\myfile.wmv"}); 
Cuestiones relacionadas