签名者信息不匹配

mib*_*zer 18 java

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

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

事情就是当我在命令下运行时,它说jar验证了.

/usr/jdk/instances/jdk1.5.0/bin/jarsigner -verify -verbose Jarfile.jar
Run Code Online (Sandbox Code Playgroud)

如果jar文件已经过验证,那么这个问题怎么办?

Mic*_*rdt 17

这意味着您在同一个包中有两个或更多类具有不同的签名数据.通常这意味着类来自不同的JAR,其中一个是签名的,另一个是未签名的.

  • 很可能有两个版本的 jar 正在加载。可能一个在另一个的父类加载器中(例如,一个在公共库区域中,一个在应用程序中)。 (2认同)
  • @MichaelBorgwardt 我们终于解决了这个问题。有一个已加载到类路径的过期 jar 文件。实际上这个文件属于我们软件的早期版本。但我们不知道它是如何留在那里的。谢谢你的回复。 (2认同)

and*_*rej 17

检查不同版本的相同包的 pom依赖关系树.

我有这个问题,itext-2.1.7包括bouncycastle's bcpkix以后version其他地方包含的旧版本.

使用这个pattern:

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

<dependency>
  latest package Y
</dependency>
Run Code Online (Sandbox Code Playgroud)

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