首页 > 代码库 > 关于运行SWT程序遇到的一个错误的总结

关于运行SWT程序遇到的一个错误的总结

具体的错误信息如下:

Exception in thread "main" java.lang.SecurityException: SHA1 digest error for org/eclipse/swt/widgets/Table.class    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.read(Unknown Source)    at sun.misc.Resource.getBytes(Unknown Source)    at java.net.URLClassLoader.defineClass(Unknown Source)    at java.net.URLClassLoader.access$100(Unknown Source)    at java.net.URLClassLoader$1.run(Unknown Source)    at java.net.URLClassLoader$1.run(Unknown Source)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    at com.book.TableViewer2.open(TableViewer2.java:32)    at com.book.TableViewer2.main(TableViewer2.java:22)

最后发现了具体的错误原因,(在百度和Google有人提示是jar包的问题)

沿着这个思路就去找到了Table.class所在的包org.eclipse.swt.win32.win32.x86_64_3.6.1.v3655c.jar想着去网上重新下载这个包.

这里顺便说一下百度真的不行,搜索这个jar包什么都找不到(或者说不是有效的搜索信息)......

Goolge才是王道.....在Google上找到了这个网站http://www.java2s.com/(具体这个地址:http://www.java2s.com/Code/Jar/o/Downloadorgeclipseswtwin32win32x8664361v3655cjar.htm)找到了这个jar包.覆盖以前的.

重新运行就哦了.

在查找的过程中顺便知道了,manifest()这个文件的一些东西.

jar包中的有个META-INF文件夹.

这个文件夹中有:

其中MANIFEST.MF中是这个jar包中含有的各个类的SHA1(安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)

 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。  具体SHA1的用法百度去吧.我就说这么多......)

 

关于运行SWT程序遇到的一个错误的总结