执行后从缓存中删除Java Jar
我们开发了一个JavaRMI应用程序,其中包含一个集中式服务器和一个客户机,该客户机捆绑在一个jar包中,并使用JavaWebStart下载到主机上。由于在主机上缓存客户端应用程序,因此可能会出现与ITAR相关的复杂情况。我们希望允许用户执行客户机应用程序jar,然后将其从机器中删除,这样,如果用户(例如)带着笔记本电脑进行国际商务旅行,就不会出现任何遗留问题 有没有办法告诉JavaWebStart,不要缓存这个文件。?我知道这可以在每台客户机上完成,但我们的组织负责ITAR安全,而不是用户,因此我们需要在系统中内置一些东西,以确保没有文件留在用户的计算机上 谢谢 如果需要,Java Web Start将始终从缓存启动应用程序 可能的话,它将同时执行背景检查 更新服务器。如果更新可用,则它将通知 并在下次启动更新版本。这种方法 确保在没有更新的常见情况下快速启动, 还可以确保应用程序可以脱机启动 对于1.0版本,可以通过添加 在客户端的javaws.cfg文件中,行javaws.cfg.forceUpdate=true。这 将强制JavaWebStart第一次检查更新。 但不幸的是,设置此标志将导致脱机模式不可用 工作正常 在JavaWebStart的未来版本中,我们希望更改 立即启动新版本的更新检查行为 如果有可用的更新,同时仍保留 离线发射 尝试javaws.cfg.forceUpdate=false 您可以尝试删除客户端计算机上的缓存文件夹。检查 您还可以修改jnlp以自定义对缓存的管理。阅读 如果需要,Java Web Start将始终从缓存启动应用程序 可能的话,它将同时执行背景检查 更新服务器。如果更新可用,则它将通知 并在下次启动更新版本。这种方法 确保在没有更新的常见情况下快速启动, 还可以确保应用程序可以脱机启动 对于1.0版本,可以通过添加 在客户端的javaws.cfg文件中,行javaws.cfg.forceUpdate=true。这 将强制JavaWebStart第一次检查更新。 但不幸的是,设置此标志将导致脱机模式不可用 工作正常 在JavaWebStart的未来版本中,我们希望更改 立即启动新版本的更新检查行为 如果有可用的更新,同时仍保留 离线发射 尝试javaws.cfg.forceUpdate=false 您可以尝试删除客户端计算机上的缓存文件夹。检查 您还可以修改jnlp以自定义对缓存的管理。阅读执行后从缓存中删除Java Jar,java,caching,jnlp,itar,Java,Caching,Jnlp,Itar,我们开发了一个JavaRMI应用程序,其中包含一个集中式服务器和一个客户机,该客户机捆绑在一个jar包中,并使用JavaWebStart下载到主机上。由于在主机上缓存客户端应用程序,因此可能会出现与ITAR相关的复杂情况。我们希望允许用户执行客户机应用程序jar,然后将其从机器中删除,这样,如果用户(例如)带着笔记本电脑进行国际商务旅行,就不会出现任何遗留问题 有没有办法告诉JavaWebStart,不要缓存这个文件。?我知道这可以在每台客户机上完成,但我们的组织负责ITAR安全,而不是用户,因
我从未尝试过,但您可能会查找以“删除”开头的方法。我从未尝试过,但您可能会查找以“删除”开头的方法。询问者说,我知道这可以在每台客户机上完成,但我们的组织负责ITAR安全,而不是用户,因此,我们需要在系统中内置一些东西,以确保没有文件留在用户的计算机上。@D3mon-1stVFW噪音已消除。询问者说,我知道这可以在每台客户机上完成,但我们的组织负责ITAR安全,而不是用户,因此,我们需要在系统中内置一些东西,以确保没有文件留在用户的计算机上。@D3mon-1stVFW噪声已消除。
import javax.jnlp.*;
DownloadService ds;
try {
ds = (DownloadService)ServiceManager.lookup("javax.jnlp.DownloadService");
} catch (UnavailableServiceException e) {
ds = null;
}
if (ds != null) {
try {
// determine if a particular resource is cached
URL url = new URL("http://java.sun.com/products/javawebstart/lib/draw.jar");
boolean cached = ds.isResourceCached(url, "1.0");
// remove the resource from the cache
if (cached) {
ds.removeResource(url, "1.0");
}
// reload the resource into the cache
DownloadServiceListener dsl = ds.getDefaultProgressWindow();
ds.loadResource(url, "1.0", dsl);
} catch (Exception e) {
e.printStackTrace();
}
}