Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.SecurityException:清单主属性的签名文件d igest无效_Java_Eclipse_Netbeans_Ant - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.SecurityException:清单主属性的签名文件d igest无效

“线程中的异常”;“主要”;java.lang.SecurityException:清单主属性的签名文件d igest无效,java,eclipse,netbeans,ant,Java,Eclipse,Netbeans,Ant,我有一个应用程序,在IDE中运行时(Netbeans 8)运行良好。该程序使用4个外部.jar库。它还有一个指向DLL的虚拟机参数。当我试图从命令行执行.jar时,我得到一个错误。这使我相信存在类路径问题 这就是错误本身: C:\Users\piuser\Documents\NetBeansProjects\GameTrakaDesktopClient\dist>java -jar GameTrakaDesktopClient.jar Exception in thread "main"

我有一个应用程序,在IDE中运行时(Netbeans 8)运行良好。该程序使用4个外部.jar库。它还有一个指向DLL的虚拟机参数。当我试图从命令行执行.jar时,我得到一个错误。这使我相信存在类路径问题

这就是错误本身:

C:\Users\piuser\Documents\NetBeansProjects\GameTrakaDesktopClient\dist>java -jar
GameTrakaDesktopClient.jar
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 java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(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 gametrakadesktopclient.MainMenuUI.main(MainMenuUI.java:242)

C:\Users\piuser\Documents\NetBeansProjects\GameTrakaDesktopClient\dist>

我使用了一种变通方法来解决这个问题,因为我无法找到解决方案。我打开了我的应用程序所依赖的所有JAR文件,并删除了META-INF/.DSA和META-INF/.SF文件

您是否对JAR进行了签名?不,我不相信其中任何一个都已签名。这是我应该做的吗?我想我可以让他们不签名。如果是这样的话,你能告诉我一些参考资料的方向来理解JAR的签名吗?这不是你需要做的事情,但是如果你在一个JAR上签名,然后再修改它,你会得到这个错误。我没有在我的JAR上签名,这就是为什么我这么做的原因。它在Netbeans中执行得很好,所以我想我一定是在类路径等方面出错了。您的JAR在META-INF文件夹中有任何.SF文件吗?另外,您是在创建JAR之后编辑了清单,还是创建了包含清单的JAR?