Hello everybody,
Maybe is a silly question but I'm having trouble deploying an app that works great in the development environment but not when in executing from a jar.
I've created the jar from JBuilder 2005 IDE including all necessary libraries (all libs inside hibernate3/lib directory), basically it is the same configuration I use to run the app.
I runs with swing front-end so it doesn't use any application server. It uses hypersql as dialect (as I mention before the runs ok not in JAR format)
This is the factory class I'm using.
Code:
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html}.
*/
public class Factory {
/**
* Location of hibernate.cfg.xml file.
* NOTICE: Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file. That
* is place the config file in a Java package - the default location
* is the default Java package.<br><br>
* Examples: <br>
* <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml".
* CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code>
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
/** Holds a single instance of Session */
private static final ThreadLocal threadLocal = new ThreadLocal();
/** The single instance of hibernate configuration */
private static final Configuration cfg = new Configuration();
/** The single instance of hibernate SessionFactory */
private static org.hibernate.SessionFactory sessionFactory;
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session currentSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null) {
if (sessionFactory == null) {
try {
cfg.configure(CONFIG_FILE_LOCATION);
sessionFactory = cfg.buildSessionFactory();
}
catch (Exception e) {
System.err.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
session = sessionFactory.openSession();
threadLocal.set(session);
}
return session;
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* Default constructor.
*/
private Factory() {
}
}
This is the error I get when trying to execute.
Code:
apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at com.lacer.mbenz.hh.Factory.<clinit>(Factory.java:32)
Line 32 is the one containing:
private static final Configuration cfg = new Configuration();
It is like it canĀ“t create the configuration object, I don't think this is due to a non-readable config file because it hasn't get to that point yet, I'm really clueless here.
Thanks in advance.