我在这样的环境中工作,我们必须每2个月更新一次客户jar
。因此,作为一种解决方案,我建议使用此方法来使用JNLP
,我们不必担心每个用户都在使用最新版本。因为,每个部门有超过100个客户。
但问题是JNLP
未升级新的jar
文件,以下是my.jnlp
文件
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://192.168.1.26:8080/" href="Test.jnlp">
<information>
<title>HC</title>
<vendor>DRL</vendor>
<homepage href="http://192.168.1.26:8080/" />
<description>DRL</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="JnlpTest.jar" download="eager" />
</resources>
<application-desc
name="HC-DRL"
main-class="com.drl.simap.client.module.ui.Splash" />
</jnlp>
我的工作环境 Tomcat-6.0服务器和以下教程 here
答案 0 :(得分:0)
如果您下载jnlp spec并查看第6章,则有一整节关于缓存:“6下载和缓存资源”
您可以尝试在jar文件中添加版本号,然后使用jnlp jar版本属性。
如果您目前不这样做,则规范说明如下:
必须找到使用基本下载协议下载的条目 在基于URL的缓存中。从HTTP获取的时间戳 应答的Last-Modified头字段中的GET请求应该是 与下载的资源一起存储。时间戳用于 确定服务器上的副本是否更新。
JNLP客户端不能假定HTTP GET请求将返回 每个请求都有相同的JAR文件。 JNLP客户必须定期 检查Web服务器以查看是否有可用的更新版本。这个 建议在申请之前进行检查 已启动,但JNLP客户端使用的确切算法取决于 特别实施。例如,如果JNLP客户端处于脱机状态, 不需要进行检查。
上述缓存规则也适用于下载的扩展描述符 使用版本属性所在的扩展下载协议 未指定。