作者:青春进行时2502857343 | 来源:互联网 | 2023-01-29 10:40
如何解决《更新Java8u141后JavaWebStart无法正常工作-java.lang.SecurityException:org/apache/commons/httpclient缺少摘要》经验,为你挑选了1个好方法。
更新Java 8u141后,由jnlp运行的java web start应用程序停止工作.不要下载该应用程序.并在下面抛出这些例外.有人能帮我吗?
com.sun.deploy.net.JARSigningException: Could not verify resource signature: http://www.example.com/myjar.jar
at com.sun.deploy.security.JarVerifier.authenticateJarEntry(Unknown Source)
at com.sun.deploy.security.EnhancedJarVerifier.validate(Unknown Source)
at com.sun.deploy.cache.CacheEntry.processJar(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$2700(Unknown Source)
at com.sun.deploy.cache.CacheEntry$7.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)
其他:
java.lang.SecurityException: digest missing for org/apache/commons/httpclient
at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at com.sun.deploy.security.JarVerifier.authenticateJarEntry(Unknown Source)
at com.sun.deploy.security.EnhancedJarVerifier.validate(Unknown Source)
at com.sun.deploy.cache.CacheEntry.processJar(Unknown Source)
at com.sun.deploy.cache.CacheEntry.access$2700(Unknown Source)
at com.sun.deploy.cache.CacheEntry$7.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)
cgull..
5
昨天我设法解决了同样的问题.这对我有用:
使用7-Zip打开抛出JARSigningException的原始未签名jar.如果出现任何问题,最好先制作一个罐子的副本.
打开META-INF文件夹,将MANIFEST.MF复制到PC.
在文本编辑器中打开MANIFEST.MF副本.寻找一条说"Name:org/apache/commons/httpclient"之类的行.根据罐子的不同,可能会有这样的几行.这行下面可能是其他行,如"Implementation-Vendor:...","Specification-Title:..."等.在任何情况下,删除所有"Name:..."行和所有后续行在每个街区.
保存文件,并用编辑后的版本替换jar中现有的MANIFEST.MF.7-Zip允许文件在罐子里原位更换.
重新签名jar并部署.
似乎当jar被签名时,清单中的"Name:"行可以在签名类的中间结束,这现在似乎只是Java 8u141发布的问题,但之前显然很好.
1> cgull..:
昨天我设法解决了同样的问题.这对我有用:
使用7-Zip打开抛出JARSigningException的原始未签名jar.如果出现任何问题,最好先制作一个罐子的副本.
打开META-INF文件夹,将MANIFEST.MF复制到PC.
在文本编辑器中打开MANIFEST.MF副本.寻找一条说"Name:org/apache/commons/httpclient"之类的行.根据罐子的不同,可能会有这样的几行.这行下面可能是其他行,如"Implementation-Vendor:...","Specification-Title:..."等.在任何情况下,删除所有"Name:..."行和所有后续行在每个街区.
保存文件,并用编辑后的版本替换jar中现有的MANIFEST.MF.7-Zip允许文件在罐子里原位更换.
重新签名jar并部署.
似乎当jar被签名时,清单中的"Name:"行可以在签名类的中间结束,这现在似乎只是Java 8u141发布的问题,但之前显然很好.
您只需确保"名称:"以https://docs.oracle.com/javase/tutorial/deployment/jar/packageman.html中所述/结尾.