我们的JNLP客户端应用程序包含不同的JAR。我们在构建过程中签署所有这些JAR。现在,我们有一个无法验证的Jar,但仅限于Windows! (的Xalan-2.7.1.jar)
如果我们在Windows下运行JNLP,我们会遇到以下异常:
com.sun.deploy.net.JARSigningException: could not verify signing in resource: (http://localhost:8080/server-1.3.11-SNAPSHOT/webstart/xalan.jar, 2.7.1)
at com.sun.deploy.cache.CacheEntry.writeManifest(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$2000(Unknown Source)
at com.sun.deploy.cache.CacheEntry$9.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
在Linux和Mac下,它可以完美运行。
我还通过jarsigner.exe手动签名并验证了xalan.jar。输出:“jar验证”
可能是什么问题?