执行后从缓存中删除Java Jar

执行后从缓存中删除Java Jar,java,caching,jnlp,itar,Java,Caching,Jnlp,Itar,我们开发了一个JavaRMI应用程序,其中包含一个集中式服务器和一个客户机,该客户机捆绑在一个jar包中,并使用JavaWebStart下载到主机上。由于在主机上缓存客户端应用程序,因此可能会出现与ITAR相关的复杂情况。我们希望允许用户执行客户机应用程序jar,然后将其从机器中删除,这样,如果用户(例如)带着笔记本电脑进行国际商务旅行,就不会出现任何遗留问题 有没有办法告诉JavaWebStart,不要缓存这个文件。?我知道这可以在每台客户机上完成,但我们的组织负责ITAR安全,而不是用户,因

我们开发了一个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以自定义对缓存的管理。阅读


我从未尝试过,但您可能会查找以“删除”开头的方法。

我从未尝试过,但您可能会查找以“删除”开头的方法。

询问者说,我知道这可以在每台客户机上完成,但我们的组织负责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(); 
    } 
}