运行jar包报错:Exception in thread "main" java.lang.SecurityException

通过intelij打的jar包,运行后报错如下:

Error: A JNI error has occurred, please check your installation and try again                                           
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes             
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:330)                                 
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:263)                                     
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)                                                         
at java.util.jar.JarVerifier.update(JarVerifier.java:230)                                                               
at java.util.jar.JarFile.initializeVerifier(JarFile.java:383)                                                           
at java.util.jar.JarFile.ensureInitialization(JarFile.java:612)                                                         
at java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:69)                             
at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:991)                                                 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)                                                         
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)                                                           
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)                                                               
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)                                                               
at java.security.AccessController.doPrivileged(Native Method)                                                           
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)                                                           
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)                                                               
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)                                                       
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)                                                               
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

解决方法

删除对应jar包下的META-INF/.RSA META-INF/.DSA META-INF/*.SF

具体步骤:
用解压工具,打开自己的生成的jar包,找到META-INF文件夹,删除下面后缀名为 . SRA .DSA .SF的文件即可
然后运行,完美解决

 

posted @ 2024-07-10 21:52  远洪  阅读(348)  评论(0)    收藏  举报