2009-10-04 2 views

Antwort

22

Es hängt ... von Ihrem Betriebssystem und der virtuellen Maschine, zB:

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

Mit einem Sun JDK 6 kann dies über die Java-Systemsteuerung (Temporäre Internetdateien Einstellungen im Register Allgemein) konfiguriert werden.

9

Unter Windows Vista oder 7 ist es in %AppData%\LocalLow\Sun\Java\Deployment\cache.

+2

Es ist erwähnenswert, dass die Dateierweiterung nicht jar ist. Also, Sie können die Dateigröße überprüfen und irgendwie finden. – Soley

+0

Funktioniert nicht, aber% HOMEPATH% \ appdata \ LocalLow \ Sun \ Java \ Deployment \ cache ist in Ordnung. % AppData% gehe zu '% HOMEPATH% \ appdata \ Roaming' – GeoStoneMarten

2

Es gibt mehr zu JNLP als nur die Implementierung von Sun.

Die OpenJDK-Pakete, die beispielsweise von Debain geliefert werden, bündeln netx, die ihre Dateien in ~/.netx/cache/ speichert. Die Wikipedia entry hat eine Liste anderer bekannter Implementierungen als Suns.

Sie sollten sich nicht darauf verlassen, dass dieser Pfad im Code Ihrer Anwendung bekannt ist.

3

für Ubuntu und andere Debian-basierten Linux-Distributionen mit icedtea: /home/USER/.icedtea/cache

falls Sie nur den Cache löschen javaws -uninstall wird nicht funktionieren. javaws -Xclearcache erledigt den Job für icedtea.

1

Wenn auch Sie Interesse an dem Inhalt der Gläser in den JNLP-Cache sind, wollen Sie vielleicht die folgende Skript verwenden (getestet auf Mac OS X), um die JAR-Dateien mit Glas -tvf zu untersuchen:

#!/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 
Verwandte Themen