签名者信息不匹配

2022-09-01 18:28:45

我在日志文件中收到以下错误。

(java.lang.SecurityException:类“com.adventnet.snmp.snmp2.SecurityModelTable”的签名者信息与抛出的同一包中其他类的签名者信息不匹配

问题是当我运行以下命令时,它说jar已验证。

/usr/jdk/instances/jdk1.5.0/bin/jarsigner -verify -verbose Jarfile.jar

如果jar文件经过验证,那么如何发生此问题?


答案 1

这意味着在同一包中具有两个或多个具有不同签名数据的类。通常,这意味着这些类来自不同的 JAR,其中一个是有符号的,另一个是无符号的。


答案 2

检查 pom 依赖项树中是否有不同版本的相同包

我在包括其他地方的更高版本中包含的旧版本时遇到了这个问题。itext-2.1.7bouncycastle's bcpkix

使用以下模式:

<dependency>
  package X
  <exclusions>
    <exclusion>
      old package Y
    </exclusion>
  </exclusions>
</dependency>

<dependency>
  latest package Y
</dependency>

更新:要检查package_Y的依赖关系树详细信息,可以使用 。有关详细信息,请查看有关解决依赖关系树问题的 maven 文档。Eclipse也有一个很好的依赖树查看器。mvn dependency:tree -Dverbose -Dincludes=package_Y


推荐