Tomcat webapp默默地失败了

时间:2010-01-10 05:07:42

标签: tomcat

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

然而,当我将应用程序打包到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;
    }

1 个答案:

答案 0 :(得分:0)

尝试在其他捕获后添加以下内容:

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

可能会抛出错误而不是异常。那么至少你应该得到一条错误信息,而不是一无所获。