gpt4 book ai didi

java - IntelliJ Jar 错误 : Invalid signature file digest for Manifest main attributes

转载 作者:行者123 更新时间:2023-11-30 05:59:22 24 4
gpt4 key购买 nike

我在基于 armx64 linux 的系统上使用 IntelliJ IDE,而我在非 maven 系统上工作> java 项目有很多链接到它的模块(依赖项)。当从 IDE 运行我的项目时,一切正常,但是当将其构建为可运行的 jar 文件并尝试使用 java -jar myjar.jar 从终端运行该 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.getInputStream(JarFile.java:450)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:977)
at sun.misc.Resource.cachedInputStream(Resource.java:77)
at sun.misc.Resource.getByteBuffer(Resource.java:160)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:454)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

我目前正在使用 OpenJdk-1.8,我尝试使用 Oracle JDK v1.8 来构建然后重新运行 jar 文件,但仍然面临相同的错误。我还尝试创建一个新的简单的“Hello world”应用程序并为其导出相应的 jar,它成功运行且没有错误。

这是我的jar内部结构和相应的manifist文件: jar structure screenshot

最佳答案

感谢 @y.bedrov 链接到此 issue这帮助我解决了错误,其中包括以下内容:

"sqljdbc4.jar" was the signed JAR in OP's external libraries. So, following above approach to systematically exclude the signature related files like .SF, .RSA or .DES or other algorithms files is the right way to move forward.

是的,我也在使用“sqljdbc4.jar”,所以在阅读答案后,我决定通过从 jar 文件内的 Meta-inf 文件夹中删除签名文件来解决问题。

关于java - IntelliJ Jar 错误 : Invalid signature file digest for Manifest main attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com