Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web Start资源jar已跳过未来过期更新检查_Java_Java Web Start_Jnlp - Fatal编程技术网

Java Web Start资源jar已跳过未来过期更新检查

Java Web Start资源jar已跳过未来过期更新检查,java,java-web-start,jnlp,Java,Java Web Start,Jnlp,我们有一个大的应用程序,包含很多jar文件,最近它停止了自我更新。所有的jar文件都由我们签名。当我们发布应用程序时,通常只更新一个jar文件,更改通常只有几个字节,并且我们不在jar文件上使用版本控制(我们可能每天多次更新此jar文件)。嗯,如果web start检测到新版本,它必须重新加载从众多jar文件中更新的jar文件,但最近通常不会。我们不能要求用户每次都清空他们的现金(这将加载最新的jar文件),所以我必须弄清这一点。 我首先开始谷歌搜索,并在我的jnlp中添加了这一行: <u

我们有一个大的应用程序,包含很多jar文件,最近它停止了自我更新。所有的jar文件都由我们签名。当我们发布应用程序时,通常只更新一个jar文件,更改通常只有几个字节,并且我们不在jar文件上使用版本控制(我们可能每天多次更新此jar文件)。嗯,如果web start检测到新版本,它必须重新加载从众多jar文件中更新的jar文件,但最近通常不会。我们不能要求用户每次都清空他们的现金(这将加载最新的jar文件),所以我必须弄清这一点。 我首先开始谷歌搜索,并在我的jnlp中添加了这一行:

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

因此,由于每个文件的“future expires”设置为Sat Aug 02 11:01:08,因此跳过jar文件。(记录在案,这大约是未来一个月)为什么?这个未来的过期日期从何而来,为什么它会破坏我们的web start应用程序更新?我们如何修复它呢?

我最终发现问题在于,web管理员在web服务器上添加了一些默认的缓存标题,以加快web页面的速度,但这些标题随后也被用于jar文件。 (他添加了一个ExpiresDefault“访问加1个月”) 他现在删除了jar文件/jnlp文件的头,但是allready下载的jar文件仍然有这个expiresdefault属性。因此,我们还必须为登录到我们服务器的用户添加以下登录脚本:

IF EXIST %UserProfile%\javawsclearcache.txt (
    exit /B
) ELSE (
    echo. 2>%UserProfile%\javawsclearcache.txt
    javaws -uninstall
)
这就解决了大部分用户群的问题,但是对于那些没有从我们自己的服务器上运行应用程序的用户来说,幸运的是,我很快就要放暑假了,所以这个月不会有太多的更新,从8月2日开始,我想他们也会定期更新

Resource (our website)/(our jar).jar has future expires: Sat Aug 02 11:01:08 CEST 2014 update check skipped.
IF EXIST %UserProfile%\javawsclearcache.txt (
    exit /B
) ELSE (
    echo. 2>%UserProfile%\javawsclearcache.txt
    javaws -uninstall
)