还有人还在使用Java Web Start吗?好吧,我必须这么做。
我有一个需要在线和离线模式下运行的应用程序。在线获取更新,但实际用例处于脱机状态。
直到jre8u161工作正常。但是使用当前的更新171和172,应用程序将无法在脱机模式下启动。
如果我使用Java Cache Viewer强制它进入离线模式,我会得到例外:
com.sun.deploy.net.FailedDownloadException: Ressource kann nicht heruntergeladen werden. System ist offline. (Resource can not be downloaded. System is offline.)
at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
如果我用javaws -offline <jnlp-file>
启动它,我会收到消息“Anwedung im Offlinebetriebnichtverfügbar”(离线模式下的应用程序不可用)。
我用这个jnlp文件创建了一个最小的应用程序:
<jnlp spec="7.0" codebase="<URL>" href="<jnlp-file>"
<information>
<title>Base Test</title>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<jar href="<jar-file>"/>
</resources>
<application-desc main-class="test.BaseTest"/>
</jnlp>
但这也不会在离线模式下启动。
我还能做什么?
答案 0 :(得分:1)
这是JDK 8 171的已知错误 https://bugs.openjdk.java.net/browse/JDK-8203272
这在JAVA的更高版本中得到修复(能够在离线模式下使用java 10启动jnlp)
无法在离线模式下使用8-171 java更新启动JNLP。
FOR DESKTOP SHORTCUT LAUNCH 其中一项工作是(它只是一个黑客) 1.为java 8-171创建2个不同的jnlp,为其他java版本创建另一个用于在离线模式下启动jnlp。
(我目前正在处理它将在完成后更新代码)
在JNLP中使用此配置
JAVA 8 171
<offline-allowed/>
<shortcut>
<desktop/>
</shortcut>
JAVA OTHER版
`<offline-allowed/>
<shortcut online="false">
<desktop/>
</shortcut>`