java web start应用程序无法在java7u45上启动

java web start应用程序无法在java7u45上启动,java,java-7,java-web-start,jnlp,Java,Java 7,Java Web Start,Jnlp,在从java7u21升级到java7u45之后,进行了许多与安全相关的更改 因此,首先出现了与清单文件中缺少属性相关的警告。按照之前提供的方法修复了它 将属性添加到清单文件并重新签名所有属性。 现在,当我使用我的jnlp文件启动应用程序时,它在这个特定的jar上给出了以下错误 Error: Unable to load resource http://<path>/org.eclipse.core.filesystem.win32.x86_<version>.jar j

在从java7u21升级到java7u45之后,进行了许多与安全相关的更改

因此,首先出现了与清单文件中缺少属性相关的警告。按照之前提供的方法修复了它

将属性添加到清单文件并重新签名所有属性。
现在,当我使用我的jnlp文件启动应用程序时,它在这个特定的jar上给出了以下错误

Error: Unable to load resource 
http://<path>/org.eclipse.core.filesystem.win32.x86_<version>.jar
java.io.IOException: Invalid signature file digest for Manifest main attributes
    at com.sun.deploy.cache.CacheEntry$10.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)
错误:无法加载资源
http:///org.eclipse.core.filesystem.win32.x86_.jar
java.io.IOException:清单主属性的签名文件摘要无效
位于com.sun.deploy.cache.CacheEntry$10.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.sun.deploy.cache.CacheEntry.writeFileToDisk(未知源)
位于com.sun.deploy.cache.CacheEntry.writeFileToDisk(未知源)
位于com.sun.deploy.cache.cache.downloadResourceToTempFile(未知源)
在com.sun.deploy.cache.cache.downloadResourceToCache(未知源)
在com.sun.deploy.net.DownloadEngine.actionDownload(未知源)上
位于com.sun.deploy.net.DownloadEngine.downloadResource(未知源)
位于com.sun.deploy.cache.ResourceProviderImpl.getResource(未知源)
位于com.sun.deploy.cache.ResourceProviderImpl.getResource(未知源)
在com.sun.javaws.LaunchDownload$DownloadTask.call(未知源)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
验证此jar的清单文件是否缺少属性,并再次对其签名。但同样的错误


有指针吗?

这个
org.eclipse*.jar
和其他一些eclipse jar文件在META-INF/目录中有自己的签名文件(eclipseef.SF)

由于这个额外的SF文件仍然具有先前清单主属性(现在已更改)的SHA-DIGEST,因此插件无法加载


从所有插件中删除这些和其他签名文件,并对其重新签名。:-)

这个.jar是库文件还是主应用程序.jar?很抱歉,响应延迟了太多。这个.jar是eclipse库文件。@ryvantage-我猜出来了。这个
org.eclipse*.jar
和其他一些eclipse jar文件在META-INF/目录中有自己的签名文件(eclipseef.SF)。由于这个额外的SF文件仍然具有先前清单主属性(现在已更改)的SHA摘要,插件无法加载。我从所有插件中删除了这些和其他签名文件,并用我自己的证书对它们进行了重新签名。
Error: Unable to load resource 
http://<path>/org.eclipse.core.filesystem.win32.x86_<version>.jar
java.io.IOException: Invalid signature file digest for Manifest main attributes
    at com.sun.deploy.cache.CacheEntry$10.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)