web-dev-qa-db-fra.com

Où se trouvent les fichiers jar mis en cache pour les applications Java Web Start/JNLP?

Où se trouvent les fichiers jar mis en cache pour les applications Java Web Start/JNLP?

17
Carl Hörberg

Cela dépend ... de votre système d'exploitation et de votre machine virtuelle, par exemple:

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

Avec un Sun JDK 6, vous pouvez le configurer via le panneau de configuration Java (Fichiers Internet temporaires Paramètres dans l'onglet Général .

25
Pascal Thivent

Sous Windows Vista ou 7, c'est dans %AppData%\LocalLow\Sun\Java\Deployment\cache.

10
JRL

pour Ubuntu et les autres distributions Linux basées sur Debian utilisant icedtea: /home/USER/.icedtea/cache

au cas où vous voudriez simplement effacer le cache, javaws -uninstall ne fonctionnerait pas. javaws -Xclearcache fait le travail pour icedtea.

3
mantrid

JNLP ne se limite pas à la mise en œuvre de Sun.

Les packages OpenJDK fournis par Debain, par exemple, bundle netx , qui stocke ses fichiers dans ~/.netx/cache/. L'entrée de Wikipedia contient une liste des implémentations connues autres que celles de Sun.

Vous ne devriez vraiment pas compter sur le fait que ce chemin est bien connu dans le code de votre application. 

2
IgKh

Si le contenu des fichiers jar du cache JNLP vous intéresse également, vous pouvez utiliser le script suivant (testé sur Mac OS X) pour examiner les fichiers jar avec jar -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
1
Wolfgang Fahl

Vous pouvez facilement afficher ou effacer (désinstaller) vos applications Java WebStart. Cela peut être fait à l'aide du panneau de configuration Java, comme décrit ci-dessous. http://www.ngs.ac.uk/ukca/certificates/certwizard/clearwebstartcache

0
user2508778