在 JNLP 中加载 bcprov-jdk15on-1.50.jar 时出现问题
Issue with loading bcprov-jdk15on-1.50.jar in JNLP
所以我正在尝试使用 运行 JNLP 中的一个项目,该项目使用外部 jar 来提供加密。当 JNLP 为 运行 时,我得到以下异常
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost:8080/../lib/bcprov-jdk15on-1.50.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
以及下面的包装异常
java.io.IOException: invalid SHA1 signature file digest for org/bouncycastle/...
at com.sun.deploy.cache.CacheEntry.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
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.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
jar 是问题被指定为 JNLP 文件
<jar href="lib/bcprov-jdk15on-1.50.jar"/>
在没有 jar 的情况下,项目启动得很好,但是需要加密的部分失败了,所以我相当有信心这是 JNLP 规范的问题。关于修复有什么想法吗?
从 jar 的 meta-inf 中删除签名并重新签名
所以我正在尝试使用 运行 JNLP 中的一个项目,该项目使用外部 jar 来提供加密。当 JNLP 为 运行 时,我得到以下异常
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost:8080/../lib/bcprov-jdk15on-1.50.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
以及下面的包装异常
java.io.IOException: invalid SHA1 signature file digest for org/bouncycastle/...
at com.sun.deploy.cache.CacheEntry.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
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.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
jar 是问题被指定为 JNLP 文件
<jar href="lib/bcprov-jdk15on-1.50.jar"/>
在没有 jar 的情况下,项目启动得很好,但是需要加密的部分失败了,所以我相当有信心这是 JNLP 规范的问题。关于修复有什么想法吗?
从 jar 的 meta-inf 中删除签名并重新签名