Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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:清单主属性的签名文件摘要无效_Java_Eclipse_Security_Exception - Fatal编程技术网

java.lang.SecurityException:清单主属性的签名文件摘要无效

java.lang.SecurityException:清单主属性的签名文件摘要无效,java,eclipse,security,exception,Java,Eclipse,Security,Exception,我已经检查了这个问题的其他线程,但是它们的情况和解决方案不适用于我的情况 该程序应在蓝牙设备和计算机之间建立连接,并从所述设备接收数据。 因此,我正在使用蓝牙连接所需的库,这些库本身包含清单文件。我猜这就是问题所在 我已经尝试过使用不同的JDK,但没有成功 以下是整个错误消息: Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attrib

我已经检查了这个问题的其他线程,但是它们的情况和解决方案不适用于我的情况

该程序应在蓝牙设备和计算机之间建立连接,并从所述设备接收数据。 因此,我正在使用蓝牙连接所需的库,这些库本身包含清单文件。我猜这就是问题所在

我已经尝试过使用不同的JDK,但没有成功

以下是整个错误消息:

Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:240)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:193)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:262)
at java.util.jar.JarVerifier.update(JarVerifier.java:216)
at java.util.jar.JarFile.initializeVerifier(JarFile.java:345)
at java.util.jar.JarFile.getInputStream(JarFile.java:412)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:775)
at sun.misc.Resource.cachedInputStream(Resource.java:77)
at sun.misc.Resource.getByteBuffer(Resource.java:160)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:436)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.intel.bluetooth.BlueCoveImpl.loadStackClass(BlueCoveImpl.java:358)
at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:454)
at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:70)
at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1085)
at java.security.AccessController.doPrivileged(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1083)
at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1076)
at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
at de.offis.medical.sensor.discovery.linux.bluetooth.DiscoveryBT.<init>(DiscoveryBT.java:50)
at Helper.getDiscoveries(Helper.java:27)
at Main.startSensorDemo(Main.java:31)
at Main.main(Main.java:46)
线程“main”java.lang.SecurityException中的异常:清单主属性的签名文件摘要无效 位于sun.security.util.SignatureFileLeverifier.processImpl(SignatureFileLeverifier.java:240) 在sun.security.util.SignatureFileForever.process(SignatureFileForever.java:193)中 位于java.util.jar.JarVerifier.processEntry(JarVerifier.java:262) 位于java.util.jar.JarVerifier.update(JarVerifier.java:216) 位于java.util.jar.JarFile.initializeVerifier(JarFile.java:345) 位于java.util.jar.JarFile.getInputStream(JarFile.java:412) 位于sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:775) 位于sun.misc.Resource.cachedInputStream(Resource.java:77) 位于sun.misc.Resource.getByteBuffer(Resource.java:160) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:436) 在java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在java.net.URLClassLoader$1.run(URLClassLoader.java:355) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:354) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:190) 位于com.intel.bluetooth.BlueCoveImpl.loadStackClass(BlueCoveImpl.java:358) 位于com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:454) 访问com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:70) 位于com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1085) 位于java.security.AccessController.doPrivileged(本机方法) 位于com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1083) 位于com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1076) 位于javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75) 位于javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95) 位于de.offices.medical.sensor.discovery.linux.bluetooth.DiscoveryBT.(DiscoveryBT.java:50) 在Helper.getDiscoverys(Helper.java:27) 在Main.startSensorDemo(Main.java:31) Main.Main(Main.java:46)
尝试从jar中删除META-INF文件夹,再次添加清单并对jar进行签名,这对我很有帮助:

您的项目可能没有
清单
,但是,您在类路径中添加的项目所需的
jar
具有
manifest
,问题可能存在于依赖的
jar
中,如何描述您试图实现的目标以及场景的外观?仅仅通过谷歌搜索一个例外,并声明结果与您的问题不匹配,并不能帮助我们提供有意义的答案。但即使是stacktrace也表明您使用的是一个包含清单的jar文件。因此,我使用两个蓝牙库,每个库都包含清单文件。但是我不知道该找什么。你能说说你是如何签署jar的吗?我是使用oracle签名工具手动签署jar的-。您也可以使用一些IDE的集成工具来完成这项工作。我是否可以签署一个与另一个现有jar文件相同的jar文件?@Bionix1441当然可以。