public static void main(final String[] args) throws Exception { // use the platform default proxy if available. // see sun.net.spi.DefaultProxySelector for details. try { System.setProperty("java.net.useSystemProxies","true"); } catch (SecurityException e) { // failing to set this property isn't fatal } if( Util.getSystemProperty(Driver.class,"noThreadSwap")!=null ) _main(args); // for the ease of debugging // run all the work in another thread so that the -Xss option // will take effect when compiling a large schema. See // http://developer.java.sun.com/developer/bugParade/bugs/4362291.html final Throwable[] ex = new Throwable[1]; Thread th = new Thread() { public void run() { try { _main(args); } catch( Throwable e ) { ex[0]=e; } } }; th.start(); th.join(); if(ex[0]!=null) { // re-throw if( ex[0] instanceof Exception ) throw (Exception)ex[0]; else throw (Error)ex[0]; } }