2010-09-28 28 views

Respuesta

0

Actualmente no hay forma de borrar el caché desde dentro de la aplicación en ejecución, o al menos no pude encontrar uno.

5

Personalmente, desactivo el almacenamiento en caché durante el desarrollo.

de Windows: - Go go Control Panel/Java

Linux: - $ JAVA_HOME/bin/jcontrol

-> Archivos temporales de Internet -> Configuración -> Desmarque "Mantener los archivos temporales en mi equipo"

Haga clic en "Eliminar archivos" para borrar todo el caché mientras lo hace.

1

De acuerdo con la Javaws documentation, puede borrar la memoria caché con:

javaws -uninstall 

o

javaws -uninstall <jnlp> 

Sin embargo, casi por definición, no es necesario para borrar la caché si la aplicación es ser actualizado. Parece que a veces Javaws no actualiza las aplicaciones.

He recurrido a la verificación de una URL donde almaceno la 'última versión' de mi aplicación. Cuando se inicia la aplicación, busco la URL y la comparo con la versión en ejecución. Si difieren, aparece una "Hay una nueva versión disponible, ¿actualizar ahora?" buzon de mensaje.

Si el usuario selecciona para actualizar, yo uso (con excepción adecuada no manejar muestra):

String uri = "http://www.myserver.com/path/to/myjnlp.jnlp"; 
String proc = "javaws"; 
Process javaws = new ProcessBuilder("javaws", uri).start(); 
System.exit(0); 

tan lejos que parece ser suficiente, pero si es necesario, podría prologar las javaws con:

Process uninstall = new ProcessBuilder("javaws", "-uninstall", uri).start(); 
uninstall.waitFor(); 

El único inconveniente de esto es que, si tiene enlaces de escritorio, se le pedirá al usuario que los agregue nuevamente. Pero ese es un pequeño precio a pagar para que la actualización realmente funcione ...

Cuestiones relacionadas