0

我在这样的环境中工作,我们必须jar最多每 2 个月更新一次客户端。因此,作为我建议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 服务器和下面的 教程

4

1 回答 1

0

如果您下载 jnlp规范并查看第 6 章,则有一整节关于缓存:“6 资源的下载和缓存”

您可以尝试将版本号添加到您的 jar 文件中,然后使用 jnlp jar 版本属性。

如果您目前不这样做,规范说明如下:

使用基本下载协议下载的条目必须基于 URL 位于缓存中。从响应的 Last-Modified 头字段中的 HTTP GET 请求获得的时间戳应与下载的资源一起存储。时间戳用于确定服务器上的副本是否较新。

JNLP 客户端不能假定 HTTP GET 请求将为每个请求返回相同的 JAR 文件。JNLP 客户端必须定期检查 Web 服务器以查看是否有可用的更新版本。建议在启动应用程序之前执行此检查,但 JNLP 客户端使用的确切算法取决于特定的实现。例如,如果 JNLP 客户端离线,则不需要执行检查。

上述缓存规则也适用于使用未指定版本属性的扩展下载协议下载的扩展描述符。

于 2013-10-01T14:18:03.950 回答