我已经检查了有这个问题的其他线程,但是他们的情况和解决方案不适用于我的情况。
该程序应该在蓝牙设备和计算机之间建立连接,并且应该从所述设备接收数据。因此,我正在使用蓝牙连接所需的库,这些库本身包含清单文件。我猜想,这就是问题发生的地方。
我已经尝试使用不同的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)
尝试从jar中移除META-INF文件夹,添加manifest并再次签名JAR,它帮助了我:http://jehy . ru/articles/2013/12/13/invalid-signature-file-digest-for-manifest-main-attributes/
我已经通过提取jar,更改其MANIFEST. MF文件并使用命令jar cfmnew-6.0.1.jar将其转换为bundle,将jar转换为OSGI bundle。\META-INF\MANIFEST. MF.但是当我试图运行代码时,我得到了错误java.lang.Security异常:无效的签名文件摘要为清单主要属性请提供您的建议如何解决此错误。
我有一个google cloud app engine应用程序,这个应用程序是用Java11实现的,并且可以编译它。但由于某种原因,当我将I部署到app engine上时,google无法创建此应用程序的实例。
我使用并使用相同的安装程序安装了。 java-jar“C:\ProgramFiles(x86)\HP\LeanFT\Tools\TestExportTool\test export tool.jar”“C:\LeanFT\MyTestNGTests.jar”-类路径:“C:\TestNG\TestNG.jar” 清单主属性的签名文件摘要无效 我使用从测试用例生成了工件。
我见过其他一些这样的人 "无效的签名文件"当试图运行一个. jar 异常在线程"main"java.lang.Security异常:无效的签名文件摘要的清单主属性 JavaFX项目的有效JAR签名 我们将Jetty与Maven Shade插件一起用于开源应用程序: https://github.com/OneBusAway/onebusaway-gtfs-realtime-from-nextbus
我正在尝试运行项目的jar文件。我正在研究intelliJ,并使用工件生成jar文件。但每次我试图运行jar文件时,它都会给我带来异常。 这是我的清单文件: 项目的外部库: