web-dev-qa-db-ja.com

Java Web Start / JNLPアプリケーションのjarファイルはどこにキャッシュされますか?

Java Web Start/JNLPアプリケーションのjarファイルはどこにキャッシュされますか?

17
Carl Hörberg

それは... OSと仮想マシンに依存します、例えば:

  • 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コントロールパネル(一時的なインターネットファイル設定全般タブ))で設定できます。

26
Pascal Thivent

Windows Vistaまたは7では、%AppData%\LocalLow\Sun\Java\Deployment\cache

10
JRL

ubuntuおよび他のdebianベースのLinuxディストリビューションの場合、icedteaを使用:/home/USER/.icedtea/cache

キャッシュをクリアしたい場合のためにjavaws -uninstallは機能しません。 javaws -Xclearcacheはアイスティーの仕事をします。

3
mantrid

JNLPには、Sunの実装だけではありません。

たとえば、Debainによって出荷されたOpenJDKパッケージは、バンドル netx であり、ファイルを~/.netx/cache/に保存します。 Wikipediaエントリ には、Sun以外の既知の実装のリストがあります。

アプリケーションのコードでよく知られているこのパスに依存すべきではありません。

2
IgKh

JNLPキャッシュ内のjarの内容にも関心がある場合は、次のスクリプト(Mac OS Xでテスト済み)を使用して、jar -tvfでjarファイルを調べることができます。

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