it-swarm.com.ru

Где файлы jar, кэшированные для приложений Java Web Start/JNLP?

Где файлы jar, кэшированные для приложений Java Web Start/JNLP? 

17
Carl Hörberg

Это зависит ... от вашей ОС и виртуальной машины, например:

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

В Sun JDK 6 это можно настроить через панель управления Java (Временные файлы Интернета Настройки на вкладке Общие ).

25
Pascal Thivent

В Windows Vista или 7 он находится в %AppData%\LocalLow\Sun\Java\Deployment\cache.

10
JRL

для Ubuntu и других дистрибутивов Linux на основе Debian, использующих icedtea: /home/USER/.icedtea/cache

в случае, если вы хотите просто очистить кеш, javaws -uninstall не будет работать. javaws -Xclearcache делает работу для icedtea.

3
mantrid

В JNLP есть нечто большее, чем просто реализация Sun.

Пакеты OpenJDK, поставляемые Debain, например, bundle netx , который хранит свои файлы в ~/.netx/cache/. Запись Википедия содержит список известных реализаций, кроме Sun.

Вы действительно не должны полагаться на то, что этот путь хорошо известен в коде вашего приложения. 

2
IgKh

Если вас также интересует содержимое jar-файлов в кэше JNLP, вы можете использовать следующий скрипт (протестирован в Mac OS X) для проверки jar-файлов с помощью 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

Вы можете легко просматривать или удалять (удалять) ваши приложения Java WebStart. Это можно сделать с помощью панели управления Java, как описано ниже . http://www.ngs.ac.uk/ukca/certificates/certwizard/clearwebstartcache

0
user2508778