java.lang.SecurityException:签名者信息与同一包中其他类的签名者信息不匹配

我们在Java应用程序中更新了安全证书,突然我们开始收到以下提到的异常:

java.lang.SecurityException: class "org.hibernate.cfg.Configuration"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:806) [rt.jar:1.6.0_37]
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487) [rt.jar:1.6.0_37]
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625) [rt.jar:1.6.0_37]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_37]
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:344) 

我们使用ANT工具来构建代码.我发现SO上有一些链接描述了类似的问题. Bur我不确定如何解决与休眠jar相关的问题.如果您有任何想法,请告诉我.

解决方法:

可能是您的类org.hibernate.cfg.Configuration没有从您期望这样做的jar中加载.

当我们的程序为JavaMail加载一些实用程序类时遇到了同样的问题,结果发现,切换到Maven进行项目配置管理后,我们的一些Jetty依赖项包括jar javax.mail.glassfish,因此与显式邮件发生冲突.依赖.

要确定从控制台启动Java程序时实际加载了哪些jar,可以在启动Java VM时使用-verbose:class选项(如here所述).

上一篇:java – 获取与证书匹配的所有主机名列表


下一篇:java – 帮助理解受保护方法的问题