我们在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我不知道如何解决与hibernate jar相关的问题。如果您有任何想法,请告诉我。
答案 0 :(得分:2)
您的班级org.hibernate.cfg.Configuration
可能无法从您希望这样做的jar中加载。
当我们的程序为JavaMail加载一些实用程序类时遇到同样的问题,结果发现在切换到Maven进行项目配置管理后,我们的一些Jetty依赖项包括jar javax.mail.glassfish
,从而与显式邮件依赖。
要在从控制台启动java程序时找出实际加载的jar,可以在启动Java VM时使用-verbose:class
选项(如here所述)。
答案 1 :(得分:0)
我在WEB-INF / lib / wsdl4j.jar中还有一个jar文件