当从命令行更新java Web Start应用程序时,是否可以强制清除缓存?
答案 0 :(得分:5)
就个人而言,我会在开发时禁用缓存。
视窗: - 转到ControlPanel / Java
Linux中: - $ JAVA_HOME / bin / jcontrol
- >临时互联网文件 - >设置 - >解开“将临时文件保存在我的电脑上”
单击“删除文件”以清除所有缓存。
答案 1 :(得分:1)
根据Javaws documentation,您可以使用以下命令清除缓存:
javaws -uninstall
或
javaws -uninstall <jnlp>
但是,几乎按定义,如果正在更新应用程序,则无需清除缓存。似乎有时Javaws不会更新应用程序。
我已经检查了一个网址,其中存储了我的应用的“最新版本”。当应用程序启动时,我会获取URL并与正在运行的版本进行比较。如果它们不同,我弹出一个“有新版本可用 - 立即更新?”消息框。
如果用户选择更新,我使用(没有显示适当的异常处理):
String uri = "http://www.myserver.com/path/to/myjnlp.jnlp";
String proc = "javaws";
Process javaws = new ProcessBuilder("javaws", uri).start();
System.exit(0);
到目前为止似乎已经足够了,但如果有必要,我可以在javaws上加上:
Process uninstall = new ProcessBuilder("javaws", "-uninstall", uri).start();
uninstall.waitFor();
唯一的缺点是,如果您有桌面链接,系统将提示用户再次添加。但要让更新实际工作,这是一个很小的代价......
答案 2 :(得分:0)
目前无法从正在运行的应用程序中清除缓存,或者至少我找不到缓存。