use*_*726 5 java jnlp certificate java-web-start
嗨我有Java Webstart的问题.我们有一个JNLP配置,其中启用了版本控制,即:
<property name="jnlp.versionEnabled" value="true"/>
Run Code Online (Sandbox Code Playgroud)
我们正在使用每个jar的版本号,例如:
<jar href="project.jar" version="2.5.7.0"/>.
我们也正在使用Maven Jar签名者插件签署我们的应用程序罐.
到目前为止你说的一切都很好.
那么每次我们执行应用程序的新版本时,我们都会使用每个jar的新版本号更改JNLP文件(并非所有jar更改版本),但与上面的project.jar示例一样,我们说这个版本号从2.5增加. 7.0至2.5.7.1.例如
<jar href="project.jar" version="2.5.7.1"/>.
当我们的用户通过JNLP文件下载新应用程序时,他们会收到以下错误:
#### Java Web Start Error:
#### JAR resources in JNLP file are not signed by same certificate
Run Code Online (Sandbox Code Playgroud)
我已经向Webstart添加了额外的DEBUG,并在Java Concole中发现了以下错误:
security: Validating cached jar url=http://servername/lib/project_V2.5.7.1.jar ffile=C:\Documents and Settings\username\Application Data\Sun\Java\Deployment\cache\6.0\10\57344cca-719709af-2.5.7.1- com.sun.deploy.cache.CachedJarFile@11e1bbf
security: Have 0 common certificates after processing http://servername/lib/project.jar
network: Remove cache entry: http:///lib/project__V2.5.7.1.jar
Run Code Online (Sandbox Code Playgroud)
似乎Webstart正在尝试检查名为project_V2.5.7.1.jar(不存在)的jar的本地缓存,因为它是新版本/下载的一部分.
由于找不到JAR,因此假定证书不匹配 - 因此错误:
JAR resources in JNLP file are not signed by same certificate.
Run Code Online (Sandbox Code Playgroud)
我假设这是Webstart错误!这让我们感到非常痛苦,因为我们必须在每次发布之前手动清除webstart缓存 - 对于每个用户.
有人有类似的问题吗?
小智 1
我认为根据我的经验,可能发生的情况是,一旦您将版本号从 2.5.7.0 增加到 2.5.7.1,并且再次签署 jar 而不删除旧的清单条目,那么 webstart 往往会认为资源未签名通过同一个证书。您可以尝试可能有帮助的一件事是:
解压引起问题的 jar,清除其中的所有 META-INF 目录,jar 并再次签名。
让我知道这是否有帮助。
| 归档时间: |
|
| 查看次数: |
2669 次 |
| 最近记录: |