2009-10-04 17 views

Respuesta

22

... Depende de su sistema operativo y la máquina virtual, por ejemplo:

  • con un Sun JDK 1.5 y Windows XP: C:\Documents and Settings\userid\Application Data\Sun\Java\Deployment\cache\javaws\
  • con un Sun JDK 1.6 y Vista: C:\Users\userid\AppData\LocalLow\Sun\Java\Deployment\cache\6.0
  • con un JDK de Sun 1.6 y GNU/Linux: /home/userid/.java/deployment/cache/6.0
  • con un Sun JDK 1.6 y Mac OS X: ~/Library/Caches/Java/cache/6.0/

Con Sun JDK 6, esto se puede configurar a través del Panel de control de Java (Archivos de Internet temporales Configuración en la pestaña General ).

9

En Windows Vista o 7, está en %AppData%\LocalLow\Sun\Java\Deployment\cache.

+2

Vale la pena mencionar que la extensión de archivo no es jar. Entonces, puedes verificar el tamaño del archivo y encontrarlo de alguna manera. – Soley

+0

No funciona, pero '% HOMEPATH% \ appdata \ LocalLow \ Sun \ Java \ Deployment \ cache' está bien. % AppData% ir a '% HOMEPATH% \ appdata \ Roaming' – GeoStoneMarten

2

Hay más en JNLP que solo la implementación de Sun.

Los paquetes OpenJDK enviados por Debain, por ejemplo, paquete netx, que almacena sus archivos en ~/.netx/cache/. El Wikipedia entry tiene una lista de implementaciones conocidas distintas a las de Sun.

Realmente no debe confiar en que esta ruta sea conocida en el código de su aplicación.

3

para Ubuntu y otras distribuciones de Linux basadas en Debian usando icedtea: /home/USER/.icedtea/cache

en caso de que quiera sólo para borrar la memoria caché javaws -uninstall no va a funcionar. javaws -Xclearcache hace el trabajo para icedtea.

1

Si también está interesado en el contenido de los frascos en la memoria caché JNLP es posible que desee utilizar el script siguiente (probado en Mac OS X) para examinar los archivos jar con el tarro -tvf:

#!/bin/bash 
# Author: WF 
# see http://stackoverflow.com/questions/1517350/where-is-the-jar-files-cached-for-java-web-start-jnlp-applications 

os=`uname` 
case $os in 
# Mac OS X 
Darwin*) 
    jnlpcache="$HOME/Library/Application Support/Oracle/Java/Deployment/cache/6.0" 
    ;; 
*) 
    echo "to make this script work for $os you might want to edit it" 1>&2 
    echo "and add a case option" 1>&2 
    echo "please copy your result back to the stackoverflow answer" 1>&2 
    exit 1 
    ;; 
esac 

cd "$jnlpcache" 
tmp="/tmp/jnlp$$" 
for f in `find . -type f` 
do 
    jar -tvf $f 2>/dev/null > $tmp 
    if [ $? -eq 0 ] 
    then 
     echo "found jar $f" 
     echo "it contains: " 
     cat $tmp 
    fi 
done 
rm $tmp 
Cuestiones relacionadas