2016-04-28 44 views
3

我有一个运行在命令行中的项目,在IntelliJ中运行它时可以正常工作。然而,当我建立.jar和命令行我碰到下面的错误运行:使用IntelliJ构建.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(Unknown Source) 
     at sun.security.util.SignatureFileVerifier.process(Unknown Source) 
     at java.util.jar.JarVerifier.processEntry(Unknown Source) 
     at java.util.jar.JarVerifier.update(Unknown Source) 
     at java.util.jar.JarFile.initializeVerifier(Unknown Source) 
     at java.util.jar.JarFile.getInputStream(Unknown Source) 
     at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source) 
     at sun.misc.Resource.cachedInputStream(Unknown Source) 
     at sun.misc.Resource.getByteBuffer(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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 

我试图运行使用命令Java的罐子JarName.jar

干杯罐子。

+0

这是由于签署的依赖。当您构建JAR文件时,解析签名的依赖关系会导致此问题。请检查这个答案: http://stackoverflow.com/questions/41746177/how-do-i-create-a-runnable-jar-in-intellij-as-i-would-in-eclipse/43855741#43855741 – 2017-05-16 09:52:12

回答

2

你可以运行 - >编辑配置,并检查是否有任何VM选项,程序参数或Env变量?如果使用命令行运行它,则可能需要传递这些参数。

我发现另一篇文章,这可能有助于 “Invalid signature file” when attempting to run a .jar

+0

谢谢你的回复,我看了看,没有看到任何这些。我会看看你发布的链接,看看它是否修复它 – Cypher236

+0

我设法修复它通过你链接的线程上的回复解读!非常感谢 – Cypher236