Java Web Start正在缓存无效的JNLP文件

时间:2018-08-21 11:22:00

标签: java jnlp

在出现连接问题时,某些ISP将返回html http错误页面而不是jnlp文件(但我也认为例如酒店wifi登录页面)。不幸的是,Java Web Start决定缓存这些文件,就像它们是jnlp一样,然后,由于它们不是有效的jnlp文件,即使临时连接问题已解决,也永远不会再次从该路径运行该文件。

即使重新下载了jnlp文件(在浏览器中)并重新运行它,它也会失败,因为它尝试在继续之前解析缓存的资源。不用说安装的桌面启动器也坏了。

解决方法是转到   配置Java-> Internet临时文件->视图->显示“资源” 然后手动删除“ jnlp”文件。

下面是实际的jnlp。我可以通过编辑Java缓存并在其中插入一个字符以防止其解析来模拟该问题。

<jnlp spec="1.0+"
    codebase="https://acme.net/apps/ourapp/"
    href="launcher.jnlp">
    <information>
       <title>Acme Java Program</title>
       <vendor>Acme Ltd.</vendor>
       <icon kind="shortcut" href="icon64.png" width="64" height="64"/>
       <icon kind="shortcut" href="icon32.png" width="32" height="32"/>
       <shortcut online="true" install="true">
           <desktop/>
       </shortcut>
    </information>
    <resources>
        <j2se version="1.7+"
              href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="acmelauncher-signed.jar" main="true" />
        <property name="jnlp.versionEnabled" value="true"/> 
    </resources>
    <application-desc
        name="Acme Java Program"
        main-class="net.acme.Main">
        <argument>application_url=https://acme.net/apps/ourapp/"</argument>
    </application-desc>
    <security><all-permissions /></security>
    <update check="always" policy="always"/>
</jnlp>

Web Start会缓存无效的jnlp文件似乎很疯狂-替换已经是有效的,实际上不是实际更新的jnlp文件。

我已经非常努力地寻找,并且找不到其他地方提及此问题,因此希望有解决的办法,但是仅凭jnlp很难解决它的问题,因为无需解析该问题就可以发生jnlp似乎。它只是间歇性的,但是如果有足够的用户,我认为碰到它是不可避免的。有没有一种方法可以配置webstart

  • 安装桌面快捷方式
  • 检查jnlp是否有更新
  • 如果返回的文件无效jnlp,则不会缓存

0 个答案:

没有答案