Java Webstart间歇性JAR没有更新

Chr*_*non 12 java jnlp jar java-web-start

我们使用java Webstart在我们的Intranet上部署java应用程序.该应用程序接收频繁更新.在我们更新了Web服务器上的JAR/WAR(更改时间戳)后,用户将在一段时间内从桌面图标启动应用程序,Java Webstart将启动旧版本而不是下载新版本.

这是我们的JNLP的粘贴,因为您可以看到offline-allowed打开,但始终更新检查始终和策略.此外,下载标志是渴望.根据我的理解,这些选项应始终导致检查服务器上的时间戳和下载JAR文件的缓存.

我开始对Webstart感到沮丧!有没有人见过类似的问题?有解决方案吗 我厌倦了通过每三分之一或五次更新手动清除他们的webstart缓存来引导人们.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
<jnlp spec="1.0+" codebase="$$codebase" href="$$name">
  <information>
    <title>TITLE</title>

    <vendor>VENDOR</vendor>

    <description>Our Utility Application</description>

    <description kind="short">Our Utility Application PRD</description>
    <icon href="images/util_icon.png" height="64" width="64"/>
    <offline-allowed/>
    <shortcut online="true">
      <desktop />
      <menu submenu="Utility Apps"/>
    </shortcut>
  </information>

  <security>
     <all-permissions />
  </security>

  <update check="always" policy="always" />

  <resources>
    <!-- requires 1.6+ -->
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-ea" initial-heap-size="128m" max-heap-size="512m" />

    <!-- application code, download jar before we start. -->
    <jar href="OurUpdatedJarName.jar" main="true" download="eager" />

    <property name="configfile" value="updatedJarName.config" />
  </resources>

  <application-desc main-class="main.Client">
    <argument>-D</argument> 
  </application-desc>
</jnlp>
Run Code Online (Sandbox Code Playgroud)

小智 5

你可能已经解决了这个问题 - 但是jnlp spec ="1.0+" - 只有在jnlp spec 6.0+之后才支持该元素.可能那是你更新失败的原因之一.