2010-01-10 95 views
-1

我有一个Tomcat的Web应用程序使用休眠配置,下面的代码默默地失败 在Configuration cfg = new Configuration(); Tomcat日志没有给出任何错误,除了我的调试语句正好在下面它失败(BEGIN STATIC !!!)。没有例外被抛出。Tomcat的webapp默默地失败

但是,当我将应用程序打包到一个jar中,并在main中运行相同的方法调用时,它成功无误。

public class Manager { 
    static Logger log = Logger.getLogger(Manager.class); 
    public static SessionFactory sessionFactory; 

    public static void main(String[]args){ 
     System.out.println(getSessionFactory()); 
    } 

    public static SessionFactory getSessionFactory(){ 
     if(sessionFactory==null){ 
     System.out.println("BEGIN STATIC!!!!!!!! "); 

     try{ 
      Configuration cfg = new Configuration(); //FAILS SILENTLY 
      System.out.println("BEGIN STATIC1"); //NOT PRINTED THEREAFTER 
      cfg.configure("hibernate_xxx.xml"); 
      System.out.println("BEGIN STATIC2"); 
      cfg.addResource("xxx/persistence/xxx.xml"); 
      System.out.println("BEGIN STATIC 3"); 
      cfg.addResource("xxx/persistence/xxx.hbm.xml"); 
      cfg.addResource("xxx/persistence/xxx.hbm.xml"); 
      sessionFactory = cfg.buildSessionFactory(); 
     }catch(Exception exp){ 
      System.out.println("ERROR"); 
      exp.printStackTrace(System.out); 
     } 



     System.out.println("END STATIC "); 
     } 
     return sessionFactory; 
    } 

回答

0

尝试通过另抓后,加入以下:

catch(Error e){ 
      e.printStackTrace(); 
} 

可能被抛出而不是异常的错误。那么至少你应该得到一个错误信息而不是什么。

+0

事实证明,日志记录到文件是滞后的,异常后来出现了一个Hibernate相关的异常。 – user217631 2010-01-10 09:09:36