Hey David,

I've misread that earlier - this is *java.lang.NoClassDefFoundError* -
which means the class that was available at the compile time is not
available now to the JVM.

I suspect it might be a problem with your *
com.systemsmadesimple.hibernate.HibernateUtil* class implementation. As per
specification (JSE 12.4.2 Detailed Initialization Procedure
http://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.4.2)
says: "5. If the Class object for C is in an erroneous state, then
initialization is not possible. Release LC and throw a
NoClassDefFoundError."

Now, for some reason that class worked fine on JBoss (that has hibernate
and other required libraries packaged already), and now it is failing on
Tomcat.

I would look into the following things:

1. Contents of the WEB-INF/lib? What libraries? What versions?
2. Contents of CATALINA_HOME/lib? What else is there other than standard
libraries?
3. HibernateUtil class implementation
4. How your transaction manager has been configured?

This is just a wild guess, it might be that your developers leveraged
transaction manager in the static initializer of HibernateUtil class, and
that worked on JBoss since *JBossTransactionManagerLookup* is configured in
your hibernate.cfg.xml file - now it is failing in Tomcat, and somehow
other exceptions/errors are consumed/hidden in try-catch blocks in
HibernateUtil class.

Do you have access to the HibernateUtil source code? Who is
building/packaging this application for you?

Hope that helps!

Cheers!
Neven

Reply via email to