Где хранятся файлы jar для приложений Java Web Start/JNLP?

Где хранятся файлы jar для приложений Java Web Start/JNLP?

Ответы

Ответ 1

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

  • с 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 (Temporary Internet Files Settings на вкладке General).

Ответ 2

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

Ответ 3

для ubuntu и других дистрибутивов Linux на основе debian с использованием icedtea: /home/USER/.icedtea/cache

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

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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