We have renewed security certificates in our java applications and suddenly we have started receiving below mentioned exception:
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)
We use ANT tool to build our code. I found some links over the SO describing the similar issue. Bur I am not sure how to resolve issue which is related to hibernate jars. Please let me know, if you have any idea.
Might be that your class org.hibernate.cfg.Configuration
doesn't get loaded from the jar that you're expecting to do so.
Had the same problem when our program was loading some utility classes for JavaMail and it turned out that after switching over to Maven for project configuration management, some of our Jetty dependencies were including the jar javax.mail.glassfish
, thus conflicting with the explicit mail dependencies.
To find out which jars are actually loaded when launching the java program from console, you can use the -verbose:class
option when starting the Java VM (as described here).