Wo werden die jar-Dateien für Java Web Start/JNLP-Anwendungen zwischengespeichert?
Antworten
Zu viele Anzeigen?Das hängt von Ihrem Betriebssystem und Ihrer virtuellen Maschine ab, z.B.:
- mit einem Sun JDK 1.5 und Windows XP:
C:\Documents and Settings\userid\Application Data\Sun\Java\Deployment\cache\javaws\
- mit einem Sun JDK 1.6 und Vista:
C:\Users\userid\AppData\LocalLow\Sun\Java\Deployment\cache\6.0
- mit einem Sun JDK 1.6 und GNU/Linux:
/home/userid/.java/deployment/cache/6.0
- mit einem Sun JDK 1.6 und Mac OS X:
~/Library/Caches/Java/cache/6.0/
Bei einem Sun JDK 6 kann dies über das Java Control Panel konfiguriert werden (Temporary Internet Files Einstellungen im Allgemein Registerkarte).
JNLP umfasst mehr als nur die Implementierung von Sun.
Die OpenJDK-Pakete, die von Debain ausgeliefert werden, bündeln zum Beispiel netx die ihre Dateien in ~/.netx/cache/
. その Wikipedia-Eintrag enthält eine Liste bekannter Implementierungen, die nicht von Sun stammen.
Sie sollten sich wirklich nicht darauf verlassen, dass dieser Pfad im Code Ihrer Anwendung bekannt ist.
Wenn Sie sich auch für den Inhalt der jars im JNLP-Cache interessieren, können Sie das folgende Skript verwenden (getestet unter Mac OS X), um die jar-Dateien mit jar -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
- See previous answers
- Weitere Antworten anzeigen
0 Stimmen
Zumindest unter Windows wird die jar-Datei nicht unter dem ursprünglichen Namen gespeichert (auch nicht mit der Dateierweiterung .jar). Überprüfen Sie den Zeitstempel und die Dateigröße, um die gewünschten jar-Dateien zu erhalten.