2010-09-28 7 views

risposta

0

Attualmente non è possibile cancellare la cache dall'applicazione in esecuzione o almeno non è stata possibile trovarne una.

5

Personalmente, disabiliterei la memorizzazione nella cache durante lo sviluppo.

di Windows: - Go go ControlPanel/Java

Linux: - $ JAVA_HOME/bin/jcontrol

-> File temporanei Internet -> Impostazioni -> Deselezionare "Mantenere i file temporanei sul mio computer"

Fare clic su "Elimina file" per cancellare tutta la cache mentre ci si trova.

1

Secondo il Javaws documentation, è possibile cancellare la cache con:

javaws -uninstall 

o

javaws -uninstall <jnlp> 

Tuttavia, quasi per definizione, non è necessario cancellare la cache se l'applicazione è in fase di aggiornamento. Sembra che a volte Javaws non aggiorni le applicazioni.

Ho fatto ricorso a un URL in cui memorizzo la "versione più recente" della mia app. Quando l'app si avvia, recupero l'URL e lo confronto con la versione corrente. Se differiscono, faccio clic su "C'è una nuova versione disponibile - aggiorna ora?" casella dei messaggi.

Se l'utente seleziona per aggiornare, io uso (ad eccezione del caso non gestisce mostrato):

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

finora che sembra essere sufficiente, ma se necessario, ho potuto precedere le javaws con:

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

L'unico lato negativo di questo è che, se si dispone di collegamenti desktop, all'utente verrà richiesto di aggiungerli di nuovo. Ma questo è un piccolo prezzo da pagare per avere l'aggiornamento effettivamente funzionante ...

Problemi correlati