20

为 Java Web Start/JNLP 应用程序缓存的 jar 文件在哪里?

4

6 回答 6

27

这取决于...取决于您的操作系统和虚拟机,例如:

  • 使用 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 控制面板(常规选项卡中的临时 Internet 文件设置)进行配置。

于 2009-10-04T20:56:42.087 回答
10

在 Windows Vista 或 7 上,它位于%AppData%\LocalLow\Sun\Java\Deployment\cache.

于 2009-10-04T20:56:34.020 回答
3

对于使用 icedtea 的 ubuntu 和其他基于 debian 的 linux 发行版:/home/${USER}/.icedtea/cache

如果您只想清除缓存javaws -uninstall将不起作用。javaws -Xclearcache为冰茶做这项工作。

于 2012-07-22T20:58:19.627 回答
3

JNLP 不仅仅是 Sun 的实现。

Debain 提供的 OpenJDK 软件包,例如 bundle netx,它将其文件存储在~/.netx/cache/. Wikipedia 条目有一个除 Sun 之外的已知实现列表。

您真的不应该依赖在您的应用程序代码中众所周知的这条路径。

于 2009-10-04T21:14:39.573 回答
1

如果您还对 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
于 2016-03-30T17:11:45.397 回答
0

您可以轻松查看或清除(卸载)您的 Java WebStart 应用程序。这可以使用 Java 控制面板来完成,如下所述。http://www.ngs.ac.uk/ukca/certificates/certwizard/clearwebstartcache

于 2015-01-19T14:54:25.730 回答